Skip to content

Commit 21ea0af

Browse files
committed
Merge branch 'development'
* development: don't lose ping precision weak in protocols do nothing Fix url in faq Extract addHeaders to enginespec Add faq for namespace usage Remove redundant as, change method name Make log types static Removed Test Coverage from iOS scheme Fix queue violation. #792
2 parents 4929c84 + f6fa5b7 commit 21ea0af

File tree

6 files changed

+93
-86
lines changed

6 files changed

+93
-86
lines changed

Socket.IO-Client-Swift.xcodeproj/xcshareddata/xcschemes/SocketIO-iOS.xcscheme

+3-2
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@
4040
buildConfiguration = "Debug"
4141
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
4242
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
43-
shouldUseLaunchSchemeArgsEnv = "YES"
44-
codeCoverageEnabled = "YES">
43+
language = ""
44+
shouldUseLaunchSchemeArgsEnv = "YES">
4545
<Testables>
4646
<TestableReference
4747
skipped = "NO">
@@ -70,6 +70,7 @@
7070
buildConfiguration = "Debug"
7171
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
7272
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
73+
language = ""
7374
launchStyle = "0"
7475
useCustomWorkingDirectory = "NO"
7576
ignoresPersistentStateOnLaunch = "NO"

Source/SocketIO/Client/SocketIOClient.swift

+31-26
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ import Foundation
3333
open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, SocketParsable {
3434
// MARK: Properties
3535

36+
private static let logType = "SocketIOClient"
37+
3638
/// The engine for this client.
3739
public private(set) var engine: SocketEngineSpec?
3840

@@ -87,8 +89,6 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
8789
private(set) var currentAck = -1
8890
private(set) var reconnectAttempts = -1
8991

90-
private let logType = "SocketIOClient"
91-
9292
private var anyHandler: ((SocketAnyEvent) -> ())?
9393
private var currentReconnectAttempt = 0
9494
private var handlers = [SocketEventHandler]()
@@ -146,16 +146,19 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
146146
}
147147

148148
deinit {
149-
DefaultSocketLogger.Logger.log("Client is being released", type: logType)
149+
DefaultSocketLogger.Logger.log("Client is being released", type: SocketIOClient.logType)
150150
engine?.disconnect(reason: "Client Deinit")
151151
}
152152

153153
// MARK: Methods
154154

155155
private func addEngine() {
156-
DefaultSocketLogger.Logger.log("Adding engine", type: logType, args: "")
156+
DefaultSocketLogger.Logger.log("Adding engine", type: SocketIOClient.logType, args: "")
157+
158+
engine?.engineQueue.sync {
159+
self.engine?.client = nil
160+
}
157161

158-
engine?.client = nil
159162
engine = SocketEngine(client: self, url: socketURL, config: config)
160163
}
161164

@@ -173,7 +176,8 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
173176
assert(timeoutAfter >= 0, "Invalid timeout: \(timeoutAfter)")
174177

175178
guard status != .connected else {
176-
DefaultSocketLogger.Logger.log("Tried connecting on an already connected socket", type: logType)
179+
DefaultSocketLogger.Logger.log("Tried connecting on an already connected socket",
180+
type: SocketIOClient.logType)
177181
return
178182
}
179183

@@ -204,7 +208,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
204208
}
205209

206210
func didConnect(toNamespace namespace: String) {
207-
DefaultSocketLogger.Logger.log("Socket connected", type: logType)
211+
DefaultSocketLogger.Logger.log("Socket connected", type: SocketIOClient.logType)
208212

209213
status = .connected
210214

@@ -214,7 +218,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
214218
func didDisconnect(reason: String) {
215219
guard status != .disconnected else { return }
216220

217-
DefaultSocketLogger.Logger.log("Disconnected: %@", type: logType, args: reason)
221+
DefaultSocketLogger.Logger.log("Disconnected: %@", type: SocketIOClient.logType, args: reason)
218222

219223
reconnecting = false
220224
status = .disconnected
@@ -226,7 +230,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
226230

227231
/// Disconnects the socket.
228232
open func disconnect() {
229-
DefaultSocketLogger.Logger.log("Closing socket", type: logType)
233+
DefaultSocketLogger.Logger.log("Closing socket", type: SocketIOClient.logType)
230234

231235
didDisconnect(reason: "Disconnect")
232236
}
@@ -243,7 +247,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
243247
try emit(event, with: items.map({ try $0.socketRepresentation() }))
244248
} catch let err {
245249
DefaultSocketLogger.Logger.error("Error creating socketRepresentation for emit: \(event), \(items)",
246-
type: logType)
250+
type: SocketIOClient.logType)
247251

248252
handleClientEvent(.error, data: [event, items, err])
249253
}
@@ -286,7 +290,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
286290
return emitWithAck(event, with: try items.map({ try $0.socketRepresentation() }))
287291
} catch let err {
288292
DefaultSocketLogger.Logger.error("Error creating socketRepresentation for emit: \(event), \(items)",
289-
type: logType)
293+
type: SocketIOClient.logType)
290294

291295
handleClientEvent(.error, data: [event, items, err])
292296

@@ -323,7 +327,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
323327
let packet = SocketPacket.packetFromEmit(data, id: ack ?? -1, nsp: nsp, ack: false)
324328
let str = packet.packetString
325329

326-
DefaultSocketLogger.Logger.log("Emitting: %@", type: logType, args: str)
330+
DefaultSocketLogger.Logger.log("Emitting: %@", type: SocketIOClient.logType, args: str)
327331

328332
engine?.send(str, withData: packet.binary)
329333
}
@@ -335,7 +339,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
335339
let packet = SocketPacket.packetFromEmit(items, id: ack, nsp: nsp, ack: true)
336340
let str = packet.packetString
337341

338-
DefaultSocketLogger.Logger.log("Emitting Ack: %@", type: logType, args: str)
342+
DefaultSocketLogger.Logger.log("Emitting Ack: %@", type: SocketIOClient.logType, args: str)
339343

340344
engine?.send(str, withData: packet.binary)
341345
}
@@ -374,7 +378,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
374378
}
375379

376380
private func _engineDidError(reason: String) {
377-
DefaultSocketLogger.Logger.error("%@", type: logType, args: reason)
381+
DefaultSocketLogger.Logger.error("%@", type: SocketIOClient.logType, args: reason)
378382

379383
handleClientEvent(.error, data: [reason])
380384
}
@@ -383,14 +387,14 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
383387
///
384388
/// - parameter reason: The reason the engine opened.
385389
open func engineDidOpen(reason: String) {
386-
DefaultSocketLogger.Logger.log(reason, type: "SocketEngineClient")
390+
DefaultSocketLogger.Logger.log(reason, type: SocketIOClient.logType)
387391
}
388392

389393
// Called when the socket gets an ack for something it sent
390394
func handleAck(_ ack: Int, data: [Any]) {
391395
guard status == .connected else { return }
392396

393-
DefaultSocketLogger.Logger.log("Handling ack: %@ with data: %@", type: logType, args: ack, data)
397+
DefaultSocketLogger.Logger.log("Handling ack: %@ with data: %@", type: SocketIOClient.logType, args: ack, data)
394398

395399
ackHandlers.executeAck(ack, with: data, onQueue: handleQueue)
396400
}
@@ -404,7 +408,8 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
404408
open func handleEvent(_ event: String, data: [Any], isInternalMessage: Bool, withAck ack: Int = -1) {
405409
guard status == .connected || isInternalMessage else { return }
406410

407-
DefaultSocketLogger.Logger.log("Handling event: %@ with data: %@", type: logType, args: event, data)
411+
DefaultSocketLogger.Logger.log("Handling event: %@ with data: %@", type: SocketIOClient.logType,
412+
args: event, data)
408413

409414
anyHandler?(SocketAnyEvent(event: event, items: data))
410415

@@ -434,7 +439,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
434439
nsp = namespace
435440

436441
if nsp != "/" {
437-
DefaultSocketLogger.Logger.log("Joining namespace", type: logType)
442+
DefaultSocketLogger.Logger.log("Joining namespace", type: SocketIOClient.logType)
438443
engine?.send("0\(nsp)", withData: [])
439444
}
440445
}
@@ -454,7 +459,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
454459
///
455460
/// - parameter event: The event to remove handlers for.
456461
open func off(_ event: String) {
457-
DefaultSocketLogger.Logger.log("Removing handler for event: %@", type: logType, args: event)
462+
DefaultSocketLogger.Logger.log("Removing handler for event: %@", type: SocketIOClient.logType, args: event)
458463

459464
handlers = handlers.filter({ $0.event != event })
460465
}
@@ -465,7 +470,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
465470
///
466471
/// - parameter id: The UUID of the handler you wish to remove.
467472
open func off(id: UUID) {
468-
DefaultSocketLogger.Logger.log("Removing handler with id: %@", type: logType, args: id)
473+
DefaultSocketLogger.Logger.log("Removing handler with id: %@", type: SocketIOClient.logType, args: id)
469474

470475
handlers = handlers.filter({ $0.id != id })
471476
}
@@ -477,7 +482,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
477482
/// - returns: A unique id for the handler that can be used to remove it.
478483
@discardableResult
479484
open func on(_ event: String, callback: @escaping NormalCallback) -> UUID {
480-
DefaultSocketLogger.Logger.log("Adding handler for event: %@", type: logType, args: event)
485+
DefaultSocketLogger.Logger.log("Adding handler for event: %@", type: SocketIOClient.logType, args: event)
481486

482487
let handler = SocketEventHandler(event: event, id: UUID(), callback: callback)
483488
handlers.append(handler)
@@ -500,7 +505,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
500505
/// - returns: A unique id for the handler that can be used to remove it.
501506
@discardableResult
502507
open func on(clientEvent event: SocketClientEvent, callback: @escaping NormalCallback) -> UUID {
503-
DefaultSocketLogger.Logger.log("Adding handler for event: %@", type: logType, args: event)
508+
DefaultSocketLogger.Logger.log("Adding handler for event: %@", type: SocketIOClient.logType, args: event)
504509

505510
let handler = SocketEventHandler(event: event.rawValue, id: UUID(), callback: callback)
506511
handlers.append(handler)
@@ -525,7 +530,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
525530
/// - returns: A unique id for the handler that can be used to remove it.
526531
@discardableResult
527532
open func once(_ event: String, callback: @escaping NormalCallback) -> UUID {
528-
DefaultSocketLogger.Logger.log("Adding once handler for event: %@", type: logType, args: event)
533+
DefaultSocketLogger.Logger.log("Adding once handler for event: %@", type: SocketIOClient.logType, args: event)
529534

530535
let id = UUID()
531536

@@ -551,7 +556,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
551556
///
552557
/// - parameter msg: The message that needs parsing.
553558
public func parseEngineMessage(_ msg: String) {
554-
DefaultSocketLogger.Logger.log("Should parse message: %@", type: "SocketIOClient", args: msg)
559+
DefaultSocketLogger.Logger.log("Should parse message: %@", type: SocketIOClient.logType, args: msg)
555560

556561
handleQueue.async { self.parseSocketMessage(msg) }
557562
}
@@ -581,7 +586,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
581586
private func tryReconnect(reason: String) {
582587
guard reconnecting else { return }
583588

584-
DefaultSocketLogger.Logger.log("Starting reconnect", type: logType)
589+
DefaultSocketLogger.Logger.log("Starting reconnect", type: SocketIOClient.logType)
585590
handleClientEvent(.reconnect, data: [reason])
586591

587592
_tryReconnect()
@@ -594,7 +599,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
594599
return didDisconnect(reason: "Reconnect Failed")
595600
}
596601

597-
DefaultSocketLogger.Logger.log("Trying to reconnect", type: logType)
602+
DefaultSocketLogger.Logger.log("Trying to reconnect", type: SocketIOClient.logType)
598603
handleClientEvent(.reconnectAttempt, data: [(reconnectAttempts - currentReconnectAttempt)])
599604

600605
currentReconnectAttempt += 1

0 commit comments

Comments
 (0)