PROXY_EXEC,
} proxytype_t;
+typedef struct outpacketqueue {
+ meshlink_node_t *destination;
+ const void *data;
+ unsigned int len;
+} outpacketqueue_t;
+
/// A handle for an instance of MeshLink.
struct meshlink_handle {
char *confbase;
meshlink_log_cb_t log_cb;
meshlink_log_level_t log_level;
+ meshlink_channel_accept_cb_t channel_accept_cb;
+
pthread_t thread;
bool threadstarted;
pthread_mutex_t outpacketqueue_mutex;
struct list_t *outpacketqueue;
+ struct splay_tree_t *past_request_tree;
+ timeout_t past_request_timeout;
+
int contradicting_add_edge;
int contradicting_del_edge;
int sleeptime;
void *priv;
};
+/// A channel.
+struct meshlink_channel {
+ struct utcp_connection *c;
+ struct node_t *node;
+ meshlink_channel_receive_cb_t receive_cb;
+};
+
/// Header for data packets routed between nodes
typedef struct meshlink_packethdr {
uint8_t destination[16];