#include <stdint.h>
+#ifndef LCC_NETWORK_BUFFER_SIZE
+#define LCC_NETWORK_BUFFER_SIZE 1452
+#endif
+
LCC_BEGIN_DECLS
/* lcc_network_parser_t is a callback that parses received network packets. It
/* lcc_listener_t holds parameters for running a collectd server. */
typedef struct {
- /* conn is a UDP socket for the server to listen on. */
+ /* conn is a UDP socket for the server to listen on. If set to <0 node and
+ * service will be used to open a new UDP socket. If >=0, it is the caller's
+ * job to clean up the socket. */
int conn;
/* node is the local address to listen on if conn is <0. Defaults to "::" (any
/* parse_options contains options for parser and is passed on verbatimely. */
lcc_network_parse_options_t parse_options;
- /* buffer_size determines the maximum packet size to accept. */
+ /* buffer_size determines the maximum packet size to accept. Defaults to
+ * LCC_NETWORK_BUFFER_SIZE if set to zero. */
uint16_t buffer_size;
/* interface is the name of the interface to use when subscribing to a
* multicast group. Has no effect when using unicast. */
- char *interface;
+ char *iface;
} lcc_listener_t;
/* lcc_listen_and_write listens on the provided UDP socket (or opens one using