Differences From Artifact [2480f89bb9]:
- File src/OFStream.h — part of check-in [481225349f] at 2017-09-24 12:24:23 on branch trunk — OFStream: Add support for async writes (user: js, size: 41460) [annotate] [blame] [check-ins using]
To Artifact [7472119df2]:
- File
src/OFStream.h
— part of check-in
[47db5636d7]
at
2017-09-24 13:15:54
on branch trunk
— Return a bool from async write handlers
This allows performing another write with the same buffer, length and
callback, which is useful for asynchronously writing in chunks. (user: js, size: 41700) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
67 68 69 70 71 72 73 74 | * @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 */ | > > | | 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 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 | * * @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 | | | > > | | 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 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 * `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; |
︙ | ︙ |