SocketEngineSpec

public protocol SocketEngineSpec : AnyObject

Specifies a SocketEngine.

Properties

  • The client for this engine.

    Declaration

    Swift

    var client: SocketEngineClient? { get set }
  • true if this engine is closed.

    Declaration

    Swift

    var closed: Bool { get }
  • If true the engine will attempt to use WebSocket compression.

    Declaration

    Swift

    var compress: Bool { get }
  • true if this engine is connected. Connected means that the initial poll connect has succeeded.

    Declaration

    Swift

    var connected: Bool { get }
  • The connect parameters sent during a connect.

    Declaration

    Swift

    var connectParams: [String : Any]? { get set }
  • An array of HTTPCookies that are sent during the connection.

    Declaration

    Swift

    var cookies: [HTTPCookie]? { get }
  • The queue that all engine actions take place on.

    Declaration

    Swift

    var engineQueue: DispatchQueue { get }
  • A dictionary of extra http headers that will be set during connection.

    Declaration

    Swift

    var extraHeaders: [String : String]? { get set }
  • When true, the engine is in the process of switching to WebSockets.

    Declaration

    Swift

    var fastUpgrade: Bool { get }
  • When true, the engine will only use HTTP long-polling as a transport.

    Declaration

    Swift

    var forcePolling: Bool { get }
  • When true, the engine will only use WebSockets as a transport.

    Declaration

    Swift

    var forceWebsockets: Bool { get }
  • If true, the engine is currently in HTTP long-polling mode.

    Declaration

    Swift

    var polling: Bool { get }
  • If true, the engine is currently seeing whether it can upgrade to WebSockets.

    Declaration

    Swift

    var probing: Bool { get }
  • sid

    The session id for this engine.

    Declaration

    Swift

    var sid: String { get }
  • The path to engine.io.

    Declaration

    Swift

    var socketPath: String { get }
  • The url for polling.

    Declaration

    Swift

    var urlPolling: URL { get }
  • The url for WebSockets.

    Declaration

    Swift

    var urlWebSocket: URL { get }
  • The version of engine.io being used. Default is three.

    Declaration

    Swift

    var version: SocketIOVersion { get }
  • If true, then the engine is currently in WebSockets mode.

    Declaration

    Swift

    @available(*, deprecated, message: "No longer needed, if we're not polling, then we must be doing websockets")
    var websocket: Bool { get }
  • ws

    The WebSocket for this engine.

    Declaration

    Swift

    var ws: WebSocket? { get }

Initializers

  • Creates a new engine.

    Declaration

    Swift

    init(client: SocketEngineClient, url: URL, options: [String : Any]?)

    Parameters

    client

    The client for this engine.

    url

    The url for this engine.

    options

    The options for this engine.

Methods

  • Starts the connection to the server.

    Declaration

    Swift

    func connect()
  • Called when an error happens during execution. Causes a disconnection.

    Declaration

    Swift

    func didError(reason: String)
  • Disconnects from the server.

    Declaration

    Swift

    func disconnect(reason: String)

    Parameters

    reason

    The reason for the disconnection. This is communicated up to the client.

  • Called to switch from HTTP long-polling to WebSockets. After calling this method the engine will be in WebSocket mode.

    You shouldn’t call this directly

    Declaration

    Swift

    func doFastUpgrade()
  • Causes any packets that were waiting for POSTing to be sent through the WebSocket. This happens because when the engine is attempting to upgrade to WebSocket it does not do any POSTing.

    You shouldn’t call this directly

    Declaration

    Swift

    func flushWaitingForPostToWebSocket()
  • Parses raw binary received from engine.io.

    Declaration

    Swift

    func parseEngineData(_ data: Data)

    Parameters

    data

    The data to parse.

  • Parses a raw engine.io packet.

    Declaration

    Swift

    func parseEngineMessage(_ message: String)

    Parameters

    message

    The message to parse.

  • Writes a message to engine.io, independent of transport.

    Declaration

    Swift

    func write(_ msg: String, withType type: SocketEnginePacketType, withData data: [Data], completion: (() -> ())?)

    Parameters

    msg

    The message to send.

    type

    The type of this message.

    data

    Any data that this message has.

    completion

    Callback called on transport write completion.