write(_:timeout:completionHandler:)
Asynchronously writes the specified data to the stream, and calls a handler upon completion.
Declaration
func write(_ data: Data, timeout: TimeInterval, completionHandler: @escaping @Sendable ((any Error)?) -> Void)func write(_ data: Data, timeout: TimeInterval) async throwsParameters
- data:
The data to be written.
- timeout:
A timeout for writing bytes. If the write is not completed within the specified interval, the write is canceled and the
completionHandleris called with an error. Pass0to prevent a write from timing out. - completionHandler:
The completion handler to call when all bytes are written, or an error occurs. This handler is executed on the delegate queue.
This completion handler takes the following parameter:
errorAn error object that indicates why the write failed, or
nilif the write was successful.
Discussion
There is no guarantee that the remote side of the stream has received all of the written bytes at the time that completionHandler is called, only that all of the data has been written to the kernel.