Skip to content

File SolidSyslogResolver.h

FileList > Core > Interface > SolidSyslogResolver.h

Go to the source code of this file

The resolver role: turn a host/port into a destination address (Resolve) for a later Datagram or Stream to send to. More...

  • #include <stdbool.h>
  • #include <stdint.h>
  • #include "ExternC.h"
  • #include "SolidSyslogTransport.h"

Public Functions

Type Name
bool SolidSyslogResolver_Resolve (struct SolidSyslogResolver * resolver, enum SolidSyslogTransport transport, const char * host, uint16_t port, struct SolidSyslogAddress * result)
Look host up and, on success, write the destination intoresult for a later Datagram or Stream to read.

Detailed Description

This call dispatches to the injected resolver's vtable, so behaviour — DNS lookup, numeric parse, or a pinned fixed destination, and whether it blocks — is that resolver's.

Public Functions Documentation

function SolidSyslogResolver_Resolve

Look host up and, on success, write the destination intoresult for a later Datagram or Stream to read.

bool SolidSyslogResolver_Resolve (
    struct SolidSyslogResolver * resolver,
    enum SolidSyslogTransport transport,
    const char * host,
    uint16_t port,
    struct SolidSyslogAddress * result
) 

result is caller-owned storage (a platform SolidSyslogAddress from SolidSyslog{Posix,Winsock,PlusTcp,LwipRaw} Address_Create); the resolver only fills it in, and only when it returns true. A DNS-backed resolver may block for the lookup; a numeric-literal resolver does not. Some resolvers pin a fixed destination and ignore host and/or transport.

Return value:

  • false Not resolved; result is left untouched and the caller's unresolved-host path runs (the send is skipped and retried on a later SolidSyslog_Service).


The documentation for this class was generated from the following file Core/Interface/SolidSyslogResolver.h