ObjFW  Diff

Differences From Artifact [2480f89bb9]:

To Artifact [7472119df2]:


67
68
69
70
71
72
73


74
75

76
77
78
79
80
81
82
67
68
69
70
71
72
73
74
75
76

77
78
79
80
81
82
83
84







+
+

-
+







 * @brief A block which is called when data was written to the stream.
 *
 * @param stream The stream to which data was written
 * @param buffer The buffer which was written to the stream
 * @param length The length of the data that bas been written
 * @param exception An exception which occurred while reading or `nil` on
 *		    success
 * @return A bool whether another write with the same buffer, length and
 *	   callback block should be performed
 */
typedef void (^of_stream_async_write_block_t)(OFStream *stream,
typedef bool (^of_stream_async_write_block_t)(OFStream *stream,
    const void *buffer, size_t length, id _Nullable exception);
#endif

/*!
 * @class OFStream OFStream.h ObjFW/OFStream.h
 *
 * @brief A base class for different types of streams.
800
801
802
803
804
805
806
807
808




809
810

811
812
813
814
815
816
817
802
803
804
805
806
807
808


809
810
811
812
813

814
815
816
817
818
819
820
821







-
-
+
+
+
+

-
+







 *
 * @note The stream must implement @ref fileDescriptorForWriting and return a
 *	 valid file descriptor in order for this to work!
 *
 * @param buffer The buffer from which the data is written into the stream. The
 *		 buffer needs to be valid until the write request is completed!
 * @param length The length of the data that should be written
 * @param target The target on which the selector should be called when the data
 *		 has been written.
 * @param target The target on which the selector should be called when the
 *		 data has been received. If the method returns true, the same
 *		 buffer and length will be written again and same method will
 *		 be called again.
 * @param selector The selector to call on the target. The signature must be
 *		   `void (OFStream *stream, const void *buffer, size_t length,
 *		   `bool (OFStream *stream, const void *buffer, size_t length,
 *		   id context, id exception)`.
 */
- (void)asyncWriteBuffer: (const void *)buffer
		  length: (size_t)length
		  target: (id)target
		selector: (SEL)selector
		 context: (nullable id)context;