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 "SolidSyslogNullResolver.h"
6 :
7 : #include <stdbool.h>
8 : #include <stdint.h>
9 :
10 : #include "SolidSyslogResolverDefinition.h"
11 : #include "SolidSyslogTransport.h"
12 :
13 : struct SolidSyslogAddress;
14 :
15 : static bool NullResolver_Resolve(
16 : struct SolidSyslogResolver* base,
17 : enum SolidSyslogTransport transport,
18 : const char* host,
19 : uint16_t port,
20 : struct SolidSyslogAddress* result
21 : );
22 :
23 703 : struct SolidSyslogResolver* SolidSyslogNullResolver_Get(void)
24 : {
25 : static struct SolidSyslogResolver instance = {.Resolve = NullResolver_Resolve};
26 703 : return &instance;
27 : }
28 :
29 : /* Resolve returns false ("could not resolve") so callers' existing
30 : * unresolved-host error path runs naturally. In the pool-exhausted
31 : * fallback case the matching Sender is already on NullSender, so the
32 : * send chain is broken end-to-end. */
33 8 : static bool NullResolver_Resolve(
34 : struct SolidSyslogResolver* base,
35 : enum SolidSyslogTransport transport,
36 : const char* host,
37 : uint16_t port,
38 : struct SolidSyslogAddress* result
39 : )
40 : {
41 : (void) base;
42 : (void) transport;
43 : (void) host;
44 : (void) port;
45 : (void) result;
46 8 : return false;
47 : }
|