PROXY_EXEC,
} proxytype_t;
+typedef struct outpacketqueue {
+ meshlink_node_t *destination;
+ const void *data;
+ unsigned int len;
+} outpacketqueue_t;
+
+struct meshlink_connection {
+ uint16_t sd;
+ outpacketqueue_t packetwindow;
+};
+
/// A handle for an instance of MeshLink.
struct meshlink_handle {
char *confbase;
meshlink_log_level_t log_level;
pthread_t thread;
+ bool threadstarted;
pthread_mutex_t outpacketqueue_mutex;
+ pthread_mutex_t nodes_mutex;
event_loop_t loop;
listen_socket_t listen_socket[MAXSOCKETS];
int listen_sockets;
struct list_t *outpacketqueue;
+ uint16_t socketsbitmap; //bitmap of 16 bits
+
int contradicting_add_edge;
int contradicting_del_edge;
int sleeptime;
typedef struct meshlink_packethdr {
uint8_t destination[16];
uint8_t source[16];
+ uint16_t dport;
+ uint16_t sport;
+ uint16_t seqno;
} __attribute__ ((__packed__)) meshlink_packethdr_t;
+extern void meshlink_send_from_queue(event_loop_t* el,meshlink_handle_t *mesh);
+
+
#endif // MESHLINK_INTERNAL_H