#include "hash.h"
#include "logger.h"
#include "meshlink.h"
+#include "meshlink_queue.h"
#include "sockaddr.h"
#include "sptps.h"
#define MAXSOCKETS 8 /* Probably overkill... */
+struct AvahiServer;
+struct AvahiSServiceBrowser;
+struct AvahiSimplePoll;
+struct AvahiSEntryGroup;
+
typedef struct listen_socket_t {
struct io_t tcp;
struct io_t udp;
char *confbase;
+ char *appname;
+
meshlink_receive_cb_t receive_cb;
meshlink_node_status_cb_t node_status_cb;
meshlink_log_cb_t log_cb;
struct list_t *connections;
struct list_t *outgoings;
- struct list_t *outpacketqueue;
+ meshlink_queue_t outpacketqueue;
struct splay_tree_t *past_request_tree;
timeout_t past_request_timeout;
char line[4096];
char buffer[4096];
size_t blen;
+
+ pthread_t discovery_thread;
+ bool discovery_threadstarted;
+ struct AvahiServer *avahi_server;
+ struct AvahiSServiceBrowser *avahi_browser;
+ struct AvahiSimplePoll *avahi_poll;
+ struct AvahiSEntryGroup *avahi_group;
+ char* avahi_servicetype;
};
/// A handle for a MeshLink node.