Skip to content

Commit 33d7230

Browse files
committed
Merge branch 'development'
* development: remove old test server update websocket Change Void to () Allow changing the socketURL post init Fixes socketio#470 code style Add note about queue safety
2 parents 77dfd78 + b71348a commit 33d7230

11 files changed

+27
-194
lines changed

Socket.IO-Test-Server/TestCases.js

Lines changed: 0 additions & 95 deletions
This file was deleted.

Socket.IO-Test-Server/acknowledgementEvents.js

Lines changed: 0 additions & 10 deletions
This file was deleted.

Socket.IO-Test-Server/emitEvents.js

Lines changed: 0 additions & 20 deletions
This file was deleted.

Socket.IO-Test-Server/main.js

Lines changed: 0 additions & 15 deletions
This file was deleted.

Socket.IO-Test-Server/package.json

Lines changed: 0 additions & 14 deletions
This file was deleted.

Socket.IO-Test-Server/socketEventRegister.js

Lines changed: 0 additions & 13 deletions
This file was deleted.

Source/SocketEnginePollable.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ extension SocketEnginePollable {
120120
doLongPoll(for: req)
121121
}
122122

123-
func doRequest(for req: URLRequest, callbackWith callback: @escaping (Data?, URLResponse?, Error?) -> Void) {
123+
func doRequest(for req: URLRequest, callbackWith callback: @escaping (Data?, URLResponse?, Error?) -> ()) {
124124
guard polling && !closed && !invalidated && !fastUpgrade else { return }
125125

126126
DefaultSocketLogger.Logger.log("Doing polling %@ %@", type: "SocketEnginePolling",
@@ -147,7 +147,7 @@ extension SocketEnginePollable {
147147

148148
DefaultSocketLogger.Logger.log("Got polling response", type: "SocketEnginePolling")
149149

150-
if let str = String(data: data!, encoding: String.Encoding.utf8) {
150+
if let str = String(data: data!, encoding: .utf8) {
151151
this.parsePollingMessage(str)
152152
}
153153

Source/SocketEngineSpec.swift

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -155,9 +155,7 @@ extension SocketEngineSpec {
155155

156156
return .left(mutData as Data)
157157
} else {
158-
let str = "b4" + data.base64EncodedString(options: Data.Base64EncodingOptions(rawValue: 0))
159-
160-
return .right(str)
158+
return .right("b4" + data.base64EncodedString(options: Data.Base64EncodingOptions(rawValue: 0)))
161159
}
162160
}
163161

Source/SocketIOClient.swift

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,12 @@ import Foundation
2727

2828
/// The main class for SocketIOClientSwift.
2929
///
30+
/// **NOTE**: The client is not thread/queue safe, all interaction with the socket should be done on the `handleQueue`
31+
///
3032
/// Represents a socket.io-client. Most interaction with socket.io will be through this class.
3133
open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, SocketParsable {
3234
// MARK: Properties
3335

34-
/// The URL of the socket.io server. This is set in the initializer.
35-
public let socketURL: URL
36-
3736
/// The engine for this client.
3837
public private(set) var engine: SocketEngineSpec?
3938

@@ -76,18 +75,24 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
7675
return engine?.sid
7776
}
7877

79-
private let logType = "SocketIOClient"
78+
/// The URL of the socket.io server.
79+
///
80+
/// If changed after calling `init`, `forceNew` must be set to `true`, or it will only connect to the url set in the
81+
/// init.
82+
public var socketURL: URL
8083

81-
private var anyHandler: ((SocketAnyEvent) -> Void)?
82-
private var currentReconnectAttempt = 0
83-
private var handlers = [SocketEventHandler]()
84-
private var reconnecting = false
84+
var ackHandlers = SocketAckManager()
85+
var waitingPackets = [SocketPacket]()
8586

8687
private(set) var currentAck = -1
8788
private(set) var reconnectAttempts = -1
8889

89-
var ackHandlers = SocketAckManager()
90-
var waitingPackets = [SocketPacket]()
90+
private let logType = "SocketIOClient"
91+
92+
private var anyHandler: ((SocketAnyEvent) -> ())?
93+
private var currentReconnectAttempt = 0
94+
private var handlers = [SocketEventHandler]()
95+
private var reconnecting = false
9196

9297
// MARK: Initializers
9398

@@ -147,13 +152,11 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
147152

148153
// MARK: Methods
149154

150-
private func addEngine() -> SocketEngineSpec {
155+
private func addEngine() {
151156
DefaultSocketLogger.Logger.log("Adding engine", type: logType, args: "")
152157

153158
engine?.client = nil
154159
engine = SocketEngine(client: self, url: socketURL, config: config)
155-
156-
return engine!
157160
}
158161

159162
/// Connect to the server.
@@ -166,7 +169,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
166169
/// - parameter timeoutAfter: The number of seconds after which if we are not connected we assume the connection
167170
/// has failed. Pass 0 to never timeout.
168171
/// - parameter withHandler: The handler to call when the client fails to connect.
169-
open func connect(timeoutAfter: Int, withHandler handler: (() -> Void)?) {
172+
open func connect(timeoutAfter: Int, withHandler handler: (() -> ())?) {
170173
assert(timeoutAfter >= 0, "Invalid timeout: \(timeoutAfter)")
171174

172175
guard status != .connected else {
@@ -177,11 +180,11 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
177180
status = .connecting
178181

179182
if engine == nil || forceNew {
180-
addEngine().connect()
181-
} else {
182-
engine?.connect()
183+
addEngine()
183184
}
184185

186+
engine?.connect()
187+
185188
guard timeoutAfter != 0 else { return }
186189

187190
handleQueue.asyncAfter(deadline: DispatchTime.now() + Double(timeoutAfter)) {[weak self] in
@@ -496,7 +499,6 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
496499
return handler.id
497500
}
498501

499-
500502
/// Adds a single-use handler for an event.
501503
///
502504
/// - parameter event: The event name for this handler.
@@ -522,7 +524,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
522524
/// Adds a handler that will be called on every event.
523525
///
524526
/// - parameter handler: The callback that will execute whenever an event is received.
525-
open func onAny(_ handler: @escaping (SocketAnyEvent) -> Void) {
527+
open func onAny(_ handler: @escaping (SocketAnyEvent) -> ()) {
526528
anyHandler = handler
527529
}
528530

Source/SocketTypes.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,10 +68,10 @@ extension NSNull : SocketData { }
6868
extension String : SocketData { }
6969

7070
/// A typealias for an ack callback.
71-
public typealias AckCallback = ([Any]) -> Void
71+
public typealias AckCallback = ([Any]) -> ()
7272

7373
/// A typealias for a normal callback.
74-
public typealias NormalCallback = ([Any], SocketAckEmitter) -> Void
74+
public typealias NormalCallback = ([Any], SocketAckEmitter) -> ()
7575

7676
typealias JSON = [String: Any]
7777
typealias Probe = (msg: String, type: SocketEnginePacketType, data: [Data])

Source/WebSocket.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ open class WebSocket : NSObject, StreamDelegate {
115115

116116

117117
// MARK: - Block based API.
118-
public var onConnect: ((Void) -> Void)?
118+
public var onConnect: (() -> Void)?
119119
public var onDisconnect: ((NSError?) -> Void)?
120120
public var onText: ((String) -> Void)?
121121
public var onData: ((Data) -> Void)?

0 commit comments

Comments
 (0)