Protocol

URLSessionStreamDelegate

A protocol defining methods that URLSession instances call on their delegates to handle task-level events specific to stream tasks.

Overview

In addition to these methods, be sure to implement the methods in the URLSessionTaskDelegate and URLSessionDelegate protocols to handle events common to all task types and session-level events, respectively.

Topics

Handling Rerouting

func urlSession(URLSession, betterRouteDiscoveredFor: URLSessionStreamTask)

Tells the delegate that a better route to the host has been detected for the stream.

Completing Stream Capture

func urlSession(URLSession, streamTask: URLSessionStreamTask, didBecome: InputStream, outputStream: OutputStream)

Tells the delegate that the stream task has been completed as a result of the stream task calling the captureStreams() method.

Handling Closing Events

func urlSession(URLSession, readClosedFor: URLSessionStreamTask)

Tells the delegate that the read side of the underlying socket has been closed.

func urlSession(URLSession, writeClosedFor: URLSessionStreamTask)

Tells the delegate that the write side of the underlying socket has been closed.

Relationships

See Also

Adding Stream Tasks to a Session

func streamTask(withHostName: String, port: Int) -> URLSessionStreamTask

Creates a task that establishes a bidirectional TCP/IP connection to a specified hostname and port.

func streamTask(with: NetService) -> URLSessionStreamTask

Creates a task that establishes a bidirectional TCP/IP connection using a specified network service.

class URLSessionStreamTask

A URL session task that is stream-based.