Skip to content

lwIP (Sockets API) platform

«interface»SolidSyslogResolverLwipSocketResolverLwipSocket

File SolidSyslogLwipSocketResolver.h

FileList > Interface > SolidSyslogLwipSocketResolver.h

  • #include "SolidSyslogExternC.h"

Detailed Description

A destination resolver over lwIP's getaddrinfo, filling the Resolver role for the Sockets API.

What the resolver does through its vtable is the substance:

  • Resolve asks for an IPv4 address and refuses anything else. A result in another family is reported rather than returned, because the Datagram and Stream beside it send to a sockaddr_in and an address they cannot use would resolve, never deliver, and never say why.
  • The port is applied to the resolved address, so the caller's port rather than a service name decides it.
  • A lookup that reaches the network blocks the calling task for as long as the stack's own DNS timeout allows.

Needs an lwIP built with LWIP_SOCKET and LWIP_DNS. Asking for the class without them is a link error.

Public Functions Documentation

SolidSyslogLwipSocketResolver_Create

Draw a resolver from the pool (SOLIDSYSLOG_RESOLVER_POOL_SIZE); an exhausted pool falls back to the shared NullResolver.

struct SolidSyslogResolver * SolidSyslogLwipSocketResolver_Create (
    void
) 


SolidSyslogLwipSocketResolver_Destroy

Release the pool slot.

void SolidSyslogLwipSocketResolver_Destroy (
    struct SolidSyslogResolver * base
) 



The documentation for this class was generated from the following file Platform/LwipSocket/Interface/SolidSyslogLwipSocketResolver.h