SolidSyslog coverage report
Current view: top level - Core/Source - SolidSyslogNullStream.c (source / functions) Coverage Total Hit
Test: SolidSyslog Lines: 100.0 % 12 12
Test Date: 2026-11-12 23:14:35 Functions: 100.0 % 6 6

            Line data    Source code
       1              : /* SPDX-FileCopyrightText: Copyright 2026 Cozens Software Solutions Limited
       2              :  * SPDX-License-Identifier: PolyForm-Noncommercial-1.0.0 OR LicenseRef-PolyForm-Internal-Use-1.0.0 OR LicenseRef-COSOSO-Commercial
       3              :  */
       4              : 
       5              : #include "SolidSyslogNullStream.h"
       6              : 
       7              : #include <stdbool.h>
       8              : #include <stddef.h>
       9              : #include <stdint.h>
      10              : 
      11              : #include "SolidSyslogStream.h"
      12              : #include "SolidSyslogStreamDefinition.h"
      13              : 
      14              : struct SolidSyslogAddress;
      15              : 
      16              : static bool NullStream_Open(struct SolidSyslogStream* base, const struct SolidSyslogAddress* addr);
      17              : static bool NullStream_Send(struct SolidSyslogStream* base, const void* buffer, size_t size);
      18              : static SolidSyslogSsize NullStream_Read(struct SolidSyslogStream* base, void* buffer, size_t size);
      19              : static void NullStream_Close(struct SolidSyslogStream* base);
      20              : static uint32_t NullStream_Version(struct SolidSyslogStream* base);
      21              : 
      22         2728 : struct SolidSyslogStream* SolidSyslogNullStream_Get(void)
      23              : {
      24              :     static struct SolidSyslogStream instance = {
      25              :         .Open = NullStream_Open,
      26              :         .Send = NullStream_Send,
      27              :         .Read = NullStream_Read,
      28              :         .Close = NullStream_Close,
      29              :         .Version = NullStream_Version,
      30              :     };
      31         2728 :     return &instance;
      32              : }
      33              : 
      34            3 : static bool NullStream_Open(struct SolidSyslogStream* base, const struct SolidSyslogAddress* addr)
      35              : {
      36              :     (void) base;
      37              :     (void) addr;
      38            3 :     return true;
      39              : }
      40              : 
      41              : /* Send returns true so the StreamSender treats the message as delivered
      42              :  * and the Store does not retain undeliverables. Mirrors NullSender_Send
      43              :  * and NullDatagram_SendTo. */
      44           10 : static bool NullStream_Send(struct SolidSyslogStream* base, const void* buffer, size_t size)
      45              : {
      46              :     (void) base;
      47              :     (void) buffer;
      48              :     (void) size;
      49           10 :     return true;
      50              : }
      51              : 
      52              : /* Read returns 0 ("would-block, nothing available") rather than < 0 (EOF / error)
      53              :  * so StreamSender does not flag a broken connection and tear it down. */
      54            3 : static SolidSyslogSsize NullStream_Read(struct SolidSyslogStream* base, void* buffer, size_t size)
      55              : {
      56              :     (void) base;
      57              :     (void) buffer;
      58              :     (void) size;
      59            3 :     return 0;
      60              : }
      61              : 
      62            3 : static void NullStream_Close(struct SolidSyslogStream* base)
      63              : {
      64              :     (void) base;
      65            3 : }
      66              : 
      67            1 : static uint32_t NullStream_Version(struct SolidSyslogStream* base)
      68              : {
      69              :     (void) base;
      70            1 :     return 0U;
      71              : }
        

Generated by: LCOV version 2.0-1