X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilccore%2Fsilcpacket.h;fp=lib%2Fsilccore%2Fsilcpacket.h;h=7ddabff11732bfbfc7b7c6fe856756738b1847f7;hb=4ad81546bc7519f1022850ac8561d365e0a60b20;hp=48a25793c4a34858c0b9a256c4caa23c5d02c507;hpb=cf7c57c5507866dab44cc92c9ee772cfc80eddbd;p=silc.git diff --git a/lib/silccore/silcpacket.h b/lib/silccore/silcpacket.h index 48a25793..7ddabff1 100644 --- a/lib/silccore/silcpacket.h +++ b/lib/silccore/silcpacket.h @@ -618,7 +618,8 @@ void silc_packet_stream_unlink(SilcPacketStream stream, * * SilcStream silc_packet_stream_wrap(SilcPacketStream stream, * SilcPacketType type, - * SilcPacketFlags flags); + * SilcPacketFlags flags, + * SilcBool blocking_mode); * * DESCRIPTION * @@ -630,11 +631,18 @@ void silc_packet_stream_unlink(SilcPacketStream stream, * stream can be destroyed by calling silc_stream_destroy. It does not * destroy the wrapped packet stream. * - * The silc_stream_set_notifier must be called before the returned stream - * can be used to receive packets. The SILC_STREAM_CAN_READ will be - * returned to the notifier callback to indicate that a packet is ready - * for reading. Calling silc_stream_read once returns one complete SILC - * packet data payload (which is of type of `type'). + * If the `blocking_mode' mode is TRUE then the silc_stream_read and + * silc_stream_write may block the calling process or thread until SILC + * packet is read or written. If it is FALSE the stream is in non-blocking + * mode and the calls never block. The returned stream is thread-safe and + * packets may be read and written in multi-threaded environment. + * + * In non-blocking mode the silc_stream_set_notifier must be called before + * the returned stream can be used to read packets. The stream status + * SILC_STREAM_CAN_READ will be returned to the notifier callback to + * indicate that a packet is ready for reading. Calling silc_stream_read + * once returns one complete SILC packet data payload (which is of type of + * `type'). * * The returned SilcStream can be used as any normal stream and all * SilcStream API functions may be used with the stream. This returns @@ -643,7 +651,8 @@ void silc_packet_stream_unlink(SilcPacketStream stream, ***/ SilcStream silc_packet_stream_wrap(SilcPacketStream stream, SilcPacketType type, - SilcPacketFlags flags); + SilcPacketFlags flags, + SilcBool blocking_mode); /****f* silccore/SilcPacketAPI/silc_packet_get_sender *