* and will not send data to it nor accept any data received from it any more.
*
* @param node A pointer to a meshlink::node describing the node to be blacklisted.
+ *
+ * @return This function returns true if the node has been whitelisted, false otherwise.
*/
- void blacklist(node *node) {
+ bool blacklist(node *node) {
return meshlink_blacklist(handle, node);
}
+ /// Whitelist a node on the mesh.
+ /** This function causes the local node to whitelist another node.
+ * The local node will allow connections to and from that node,
+ * and will send data to it and accept any data received from it.
+ *
+ * @param node A pointer to a meshlink::node describing the node to be whitelisted.
+ *
+ * @return This function returns true if the node has been whitelisted, false otherwise.
+ */
+ bool whitelist(node *node) {
+ return meshlink_whitelist(handle, node);
+ }
+
/// Set the poll callback.
/** This functions sets the callback that is called whenever data can be sent to another node.
* The callback is run in MeshLink's own thread.
meshlink_set_channel_rcvbuf(handle, channel, size);
}
+ /// Set the connection timeout used for channels to the given node.
+ /** This sets the timeout after which unresponsive channels will be reported as closed.
+ * The timeout is set for all current and future channels to the given node.
+ *
+ * @param channel A handle for the channel.
+ * @param timeout The timeout in seconds after which unresponsive channels will be reported as closed.
+ * The default is 60 seconds.
+ */
+ void set_node_channel_timeout(node *node, int timeout) {
+ meshlink_set_node_channel_timeout(handle, node, timeout);
+ }
+
/// Open a reliable stream channel to another node.
/** This function is called whenever a remote node wants to open a channel to the local node.
* The application then has to decide whether to accept or reject this channel.
* @param cb A pointer to the function which will be called when the remote node sends data to the local node.
* @param data A pointer to a buffer containing data to already queue for sending.
* @param len The length of the data.
+ * If len is 0, the data pointer is copied into the channel's priv member.
* @param flags A bitwise-or'd combination of flags that set the semantics for this channel.
*
* @return A handle for the channel, or NULL in case of an error.
* @param port The port number the peer wishes to connect to.
* @param data A pointer to a buffer containing data to already queue for sending.
* @param len The length of the data.
+ * If len is 0, the data pointer is copied into the channel's priv member.
* @param flags A bitwise-or'd combination of flags that set the semantics for this channel.
*
* @return A handle for the channel, or NULL in case of an error.