]> git.meshlink.io Git - meshlink/blobdiff - src/meshlink++.h
Add meshlink_channel_abort().
[meshlink] / src / meshlink++.h
index baf08ae1ef15405aa238360bfbb69a1f2309c5a0..25fd34f3f2c1530c14ad99db328e646d8c81a2ed 100644 (file)
@@ -1012,12 +1012,30 @@ public:
         *  It also causes the local node to stop accepting incoming data from the remote node.
         *  Afterwards, the channel handle is invalid and must not be used any more.
         *
+        *  It is allowed to call this function at any time on a valid handle, even inside callback functions.
+        *  If called with a valid handle, this function always succeeds, otherwise the result is undefined.
+        *
         *  @param channel      A handle for the channel.
         */
        void channel_close(meshlink_channel_t *channel) {
                return meshlink_channel_close(handle, channel);
        }
 
+       /// Abort a reliable stream channel.
+       /** This aborts a channel.
+        *  Data that was in the send and receive buffers is dropped, so potentially there is some data that
+        *  was sent on this channel that will not be received by the peer.
+        *  Afterwards, the channel handle is invalid and must not be used any more.
+        *
+        *  It is allowed to call this function at any time on a valid handle, even inside callback functions.
+        *  If called with a valid handle, this function always succeeds, otherwise the result is undefined.
+        *
+        *  @param channel      A handle for the channel.
+        */
+       void channel_abort(meshlink_channel_t *channel) {
+               return meshlink_channel_abort(handle, channel);
+       }
+
        /// Transmit data on a channel
        /** This queues data to send to the remote node.
         *