SocketEngineSpec
public protocol SocketEngineSpec : AnyObject
Specifies a SocketEngine.
-
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 }
-
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 }
-
The WebSocket for this engine.
Declaration
Swift
var ws: WebSocket? { get }
-
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.
-
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.