24 #ifndef TRANSPORT_MAPPER_H_INCLUDED
25 #define TRANSPORT_MAPPER_H_INCLUDED
53 gboolean (*
setup_stack)(TransportMapper *
self, LogTransportStack *stack);
54 gboolean (*
init)(TransportMapper *
self);
63 SocketOptions *socket_options,
75 static inline const gchar *
76 transport_mapper_get_transport(TransportMapper *
self)
78 return self->transport;
81 static inline const gchar *
82 transport_mapper_get_logproto(TransportMapper *
self)
84 return self->logproto;
87 static inline const gchar *
88 transport_mapper_get_transport_name(TransportMapper *
self, gsize *len)
90 if (
self->transport_name)
93 *len =
self->transport_name_len;
94 return self->transport_name;
99 static inline gboolean
100 transport_mapper_apply_transport(TransportMapper *
self, GlobalConfig *
cfg)
102 gboolean
result =
self->apply_transport(
self,
cfg);
105 self->transport_name_len =
self->transport_name ? strlen(
self->transport_name) : 0;
109 static inline gboolean
110 transport_mapper_setup_stack(TransportMapper *
self, LogTransportStack *stack, gint fd)
113 return self->setup_stack(
self, stack);
116 static inline gboolean
117 transport_mapper_init(TransportMapper *
self)
120 return self->init(
self);
125 static inline gboolean
128 if (
self->async_init)
130 return self->async_init(
self, func, arg);
#define self
Definition: rcptid.c:38
AFSocketDirection
Definition: socket-options.h:29
Definition: gsockaddr.h:46
Definition: transport-mapper.h:35
gboolean(* async_init)(TransportMapper *self, TransportMapperAsyncInitCB func, gpointer arg)
Definition: transport-mapper.h:55
gboolean(* setup_stack)(TransportMapper *self, LogTransportStack *stack)
Definition: transport-mapper.h:53
gint address_family
Definition: transport-mapper.h:40
gchar * transport_name
Definition: transport-mapper.h:48
gchar * transport
Definition: transport-mapper.h:37
gboolean(* init)(TransportMapper *self)
Definition: transport-mapper.h:54
gsize transport_name_len
Definition: transport-mapper.h:49
gint sock_proto
Definition: transport-mapper.h:44
gint stats_source
Definition: transport-mapper.h:50
gboolean(* apply_transport)(TransportMapper *self, GlobalConfig *cfg)
Definition: transport-mapper.h:52
const gchar * logproto
Definition: transport-mapper.h:46
gint sock_type
Definition: transport-mapper.h:42
void(* free_fn)(TransportMapper *self)
Definition: transport-mapper.h:56
GlobalConfig * cfg
Definition: test_batched_ack_tracker.c:34
GString * result
Definition: test_lexer_block.c:34
gboolean transport_mapper_apply_transport_method(TransportMapper *self, GlobalConfig *cfg)
Definition: transport-mapper.c:96
void transport_mapper_set_address_family(TransportMapper *self, gint address_family)
Definition: transport-mapper.c:109
void transport_mapper_set_transport(TransportMapper *self, const gchar *transport)
Definition: transport-mapper.c:102
void transport_mapper_init_instance(TransportMapper *self, const gchar *transport)
Definition: transport-mapper.c:122
gboolean transport_mapper_open_socket(TransportMapper *self, SocketOptions *socket_options, GSockAddr *bind_addr, GSockAddr *peer_addr, AFSocketDirection dir, int *fd)
Definition: transport-mapper.c:52
void transport_mapper_free_method(TransportMapper *self)
Definition: transport-mapper.c:115
gboolean(* TransportMapperAsyncInitCB)(gpointer arg)
Definition: transport-mapper.h:32
void transport_mapper_free(TransportMapper *self)
Definition: transport-mapper.c:132