Compare commits

...

89 Commits

Author SHA1 Message Date
Erik Little
42da871d93
update readme 2024-10-01 12:32:32 -04:00
Erik Little
03032d0c72
Update some more deps; bump version 2024-10-01 12:30:52 -04:00
Erik Little
d690d9c1bf
Merge pull request #1464 from socketio/development
v16.1.1
2024-10-01 12:28:07 -04:00
Erik Little
99cc2448f7
Merge pull request #1467 from olejnjak/xcode15
Xcode 15 support
2024-10-01 12:16:49 -04:00
Erik Little
99b673dfa5
Merge pull request #1491 from hsjcom/master
Fix the issue where it takes over 60 seconds to close the socket after a network disconnection
2024-10-01 12:15:25 -04:00
Erik Little
b4bff5db90
Merge pull request #1492 from xxZap/master
Support Privacy Manifest: bump Starscream package version to upToNextMajor 4.0.8
2024-10-01 12:14:08 -04:00
Shaojie Hong
354ed7e5e4
Update SocketEngine.swift
Fix the issue where it takes over 60 seconds to close the socket after a network disconnection, and the problem where the server-side socket takes over 30 seconds to close when the server ends a connection
2024-05-09 16:58:16 +08:00
Alessio Zap Boerio
5ecc5bbae9 Bump Starscream version to upToNextMajor 4.0.8 2024-04-15 13:39:56 +02:00
Erik Little
d069bbeefe
Merge pull request #1482 from elefantel/patch-1
Bump minimum deployment target to iOS 12 to match Starscream dependency
2024-03-18 09:11:26 -04:00
Mpendulo Ndlovu
eb806b62bf
Bump minimum deployment target to iOS 12 to match Starscream dependency
Currently there is an error when compiling for release:
```
Compiling for iOS 11.0, but module 'Starscream' has a minimum deployment target of iOS 12.0
```

This pull request addresses this error by bumping the minimum deployment target to match Starscream.
2024-03-18 11:18:13 +02:00
Jakub Olejnik
6dd51170bb Bump Carthage deployment targets 2023-11-21 16:24:22 +01:00
Erik Little
76b941933e
Merge pull request #1463 from davidkessler-ch/master
fix never running timingOut due to weak self capture
2023-11-13 15:40:51 -05:00
Erik Little
71a627c099
Merge pull request #1375 from emersonsoftware/fix_reconnect_issue
Handling reconnect scenarios properly when socket is hung
2023-11-13 15:40:16 -05:00
David K
a21af1016e
fix never running timingOut due to weak self capture 2023-11-10 23:49:06 +01:00
Erik Little
85585c42c0
Merge pull request #1437 from humanfriend22/type-patch-1
Typo in README example code
2023-08-28 14:52:04 -04:00
Erik Little
175da8b515
bump tvos version 2023-08-28 14:34:00 -04:00
Erik Little
ccc73e3790
bump podspec 2023-08-28 14:29:54 -04:00
Erik Little
786b11ad46
update changelog 2023-08-28 14:19:25 -04:00
Erik Little
332a25f241
update to newer starscream 2023-08-25 10:40:32 -04:00
Erik Little
12b08a975f
change ios version; dep 2023-08-25 10:12:51 -04:00
Erik Little
2058eba1fb
Merge remote-tracking branch 'origin/master' into development
* origin/master:
  Fix Starscream to version 4.0.4
  Remove unused var in SocketAckManagerTest.testManagerTimeoutAck
2023-08-25 10:05:46 -04:00
Erik Little
d7846b31a2
Merge pull request #1451 from IvanGamov/fix/StarScreamPackage
Fix Starscream to version 4.0.4
2023-08-21 08:12:56 -04:00
Ivan Gamov
3c81d0ee55 Fix Starscream to version 4.0.4 2023-08-21 15:08:52 +03:00
Erik Little
0898078cc8
Merge pull request #1448 from NachoSoto/xros
Add support for `xrOS`
2023-06-26 11:59:06 -04:00
NachoSoto
69124a74e8 Updated Starscream 2023-06-24 16:12:30 -07:00
NachoSoto
4325b6d139 Add support for xrOS 2023-06-24 16:00:11 -07:00
NachoSoto
66eca437b8 Disabled Bitcode for Xcode 14 2023-06-24 15:58:52 -07:00
humanfriend22
8837d4a0d8 correct SocketActStatus in example code 2023-03-10 04:03:36 +00:00
Erik Little
61a7f2e936
Merge pull request #1420 from ranker-dev/feature/custom-engine-option
Add option to allow the use of URLSessionWebSocketTask in WebSocket client.
2022-07-29 10:49:57 -04:00
George Navarro
45cc6b9728 Added a useCustomEngine option to control if WebSocket is initialized to use the custom engine or native URLSession web tasks. 2022-07-25 18:13:20 -07:00
Erik Little
173def3cea
Remove travis 2022-07-12 14:55:55 -04:00
Erik Little
2b1cd74f6a
Take weak reference to self in OnAckCallback 2022-07-12 14:34:38 -04:00
Erik Little
e1c18a3ea8
Merge pull request #1410 from NachoSoto/headers-phase
Fixed build phases order in target
2022-04-18 15:03:48 -04:00
NachoSoto
eb9de532f1 Fixed build phases order in target
See [Xcode 10's known issues](https://developer.apple.com/documentation/xcode-release-notes/build-system-release-notes-for-xcode-10) in the release notes:

> Targets with Copy Headers build phases ordered after Compile Sources build phases may fail to build and emit a diagnostic regarding build cycles. (39880168)
>*Workaround*: Arrange any Copy Headers build phases before Compile Sources build phases.

This has been an issue for nearly 4 years, and now with Xcode 13.3 it leads to `XCBBuildService` to crash consistently.
2022-04-18 20:16:09 +02:00
Erik Little
a1ed825835
Merge pull request #1388 from filblue/rm-unused-var-in-SocketAckManagerTest.testManagerTimeoutAck
Remove unused var in SocketAckManagerTest.testManagerTimeoutAck
2021-12-01 16:57:27 -05:00
filblue
cc3ce5679e Remove unused var in SocketAckManagerTest.testManagerTimeoutAck 2021-11-12 18:18:26 +03:00
Erik Little
b686b17e0a
Merge pull request #1385 from NachoSoto/master
Added support for Mac Catalyst
2021-11-02 12:19:46 -07:00
NachoSoto
c6d28246ea Updated project to use XCFramework
This enables support for macCatalyst
2021-11-02 11:05:38 -07:00
NachoSoto
f4f071551f Added support for Mac Catalyst 2021-10-29 19:50:45 -07:00
Mark Schisler
ec4378ca49
Handling reconnect scenarios properly when socket is hung 2021-08-19 09:45:54 -05:00
Erik Little
d031afdbc4
Merge pull request #1362 from darrachequesne/docs/compatibility
docs: add compatibility table
2021-07-10 06:51:24 -04:00
Damien Arrachequesne
61d0a41103
docs: add compatibility table 2021-07-10 11:32:24 +02:00
Erik Little
07f2d08981
Merge pull request #1359 from WyattMufson/swift-fixes
Fix swift warnings
2021-06-19 12:36:38 -04:00
Wyatt Mufson
9609774b3a Fix swift warnings 2021-06-17 11:38:43 -04:00
Erik Little
8d9a613835
Merge pull request #1335 from TysonAndre/patch-1
Fix typo in 15to16 upgrading notes
2021-03-02 14:44:39 -05:00
Tyson Andre
678fb81ed5
Fix typo in 15to16 upgrading notes 2021-03-02 14:42:02 -05:00
Erik Little
af5ce97b75
Merge branch 'development'
* development:
  handle version in keyValueToSocketIOClientOption
  Updated methods signature
  Added client emit methods with array parameters
2021-02-16 09:38:49 -05:00
Erik Little
2c78e36ebd
handle version in keyValueToSocketIOClientOption 2021-02-16 09:37:05 -05:00
Erik Little
162eb3d649
Merge pull request #1324 from OneSman7/development
Added client emit methods with array parameters
2021-02-10 08:57:19 -05:00
Erasov Ivan
ef6b63c82f Updated methods signature 2021-02-09 00:13:42 +03:00
Erasov Ivan
c015012783 Added client emit methods with array parameters 2021-02-05 19:14:54 +03:00
Erik Little
6b80f75ec8
Merge branch 'development'
* development:
  Update and gen docs
  prepare podspec for release
  Regenerate docs
  update docs, remove other prints
  remove print
  Support both v2 and v3
  Start working on migration guide
  update docs
  Add ability to send payload with connect
  more CocoaPods testing
  CocoaPods testing
  Fix tests
  Better timeouts
  Support socket.io 3 + starscream 4
  update examples for new operator
  Add some helpful operators
  fix swift syntax highlighting
  show how to test for ack timeouts
2021-02-01 09:30:30 -05:00
Erik Little
bdcdddf465
Merge pull request #1309 from socketio/socket.io-3
Support socket.io 3 + starscream 4
2021-02-01 09:28:32 -05:00
Erik Little
2a0e0f5e28
Update and gen docs 2021-02-01 09:27:44 -05:00
Erik Little
888b84aee2
prepare podspec for release 2021-01-27 13:58:57 -05:00
Erik Little
8b1149255d
Regenerate docs 2021-01-27 13:57:46 -05:00
Erik Little
2913751beb
update docs, remove other prints 2021-01-27 13:40:07 -05:00
Erik Little
1c2af5a60f
remove print 2021-01-27 13:24:42 -05:00
Erik Little
fde88c10c5
Support both v2 and v3 2021-01-27 13:22:14 -05:00
Erik Little
21290f5752
Start working on migration guide 2020-11-07 19:19:06 -05:00
Erik Little
194642314e
update docs 2020-11-07 18:57:29 -05:00
Erik Little
d7d8903fee
Add ability to send payload with connect 2020-11-07 18:53:06 -05:00
Erik Little
ce4de49d50
more CocoaPods testing 2020-11-07 17:34:16 -05:00
Erik Little
b130231f4e
CocoaPods testing 2020-11-07 17:16:48 -05:00
Erik Little
7ce0d99526
Fix tests 2020-11-07 17:06:05 -05:00
Erik Little
c6a6d952e6
Better timeouts 2020-11-07 16:03:29 -05:00
Erik Little
6cd8f79e8b
Support socket.io 3 + starscream 4 2020-11-07 15:13:52 -05:00
Erik Little
9433f60557
Merge pull request #1165 from petergp/feature/allow-app-extension-api-only
Enabled allow app extension api only
2020-11-07 12:49:25 -05:00
Erik Little
6992ea5250
update examples for new operator 2019-11-25 14:37:13 -05:00
Erik Little
a06af14dd9
Add some helpful operators 2019-11-25 14:34:11 -05:00
Erik Little
68376581a0
fix swift syntax highlighting 2019-11-25 14:18:37 -05:00
Erik Little
eb47dcadd4
show how to test for ack timeouts 2019-11-25 14:16:43 -05:00
Erik Little
36db2ff0eb
Merge branch 'development'
* development:
  bump version
  bump travis xcode version
  Fixed endless reconnection loop
2019-10-17 06:32:23 -04:00
Erik Little
046bb0e9ff
bump version 2019-10-17 06:32:02 -04:00
Erik Little
0dc4dd4a93
bump travis xcode version 2019-10-17 06:18:42 -04:00
Erik Little
cb74f6ca55
Merge branch 'master' into development
* master:
  Updates test
  Adds missing character for url percent encoding
2019-10-17 06:06:26 -04:00
Erik Little
1a0f6bb6ce
Merge pull request #1241 from scorealarm/bugfix/adds-missing-character-for-url-encoding
Adds missing character for url encoding
2019-10-17 06:05:38 -04:00
Erik Little
091797f9b7
Merge pull request #1231 from salpeev/fix/reconnection
Fixed endless reconnection loop
2019-10-17 06:03:32 -04:00
Marin Huljev
5611c8ad24 Updates test 2019-10-14 23:02:17 +02:00
Marin Huljev
ae54ea01d0 Adds missing character for url percent encoding 2019-10-14 22:06:31 +02:00
Serhii Alpieiev
1db9232d71 Fixed endless reconnection loop 2019-09-07 18:07:19 +03:00
Erik Little
5dcfe18748
bump version and docs 2019-05-28 09:09:24 -04:00
Erik Little
558ea65aa1
Merge branch 'development'
* development:
  update changelog/readme for 15.1
  update changelog
  fix #1178
  expose Starscream WebSocket enableSOCKSProxy option to socket.io-client-swift options
2019-05-28 09:04:09 -04:00
Erik Little
0d44b10734
update changelog/readme for 15.1 2019-05-28 08:55:11 -04:00
Erik Little
c1744e9e6f
Merge pull request #1049 from pdupris/enableSOCKSProxy
Add enableSOCKSProxy option to pass to Starscream WebSockets
2019-05-28 08:50:11 -04:00
Erik Little
2fd9e4b993
update changelog 2019-03-28 07:17:45 -04:00
Erik Little
44682659b6
fix #1178 2019-03-28 07:11:35 -04:00
Peter Gammelgaard Poulsen
0df634a586 Enabled allow app extension api only 2019-03-05 20:52:03 +01:00
Peter Dupris
b48f1e9af5 expose Starscream WebSocket enableSOCKSProxy option to socket.io-client-swift options 2018-06-27 19:35:52 -07:00
88 changed files with 5907 additions and 2547 deletions

19
.github/workflows/swift.yml vendored Normal file
View File

@ -0,0 +1,19 @@
name: Swift
on:
push:
branches: [ "master", "development" ]
pull_request:
branches: [ "master", "development" ]
jobs:
build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- name: Build
run: swift build -v
- name: Run tests
run: swift test -v

2
.gitignore vendored
View File

@ -50,3 +50,5 @@ Socket.IO-Test-Server/node_modules/*
.idea/
docs/docsets/
docs/undocumented.json
.swiftpm

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>

View File

@ -1,18 +0,0 @@
language: objective-c
xcode_project: Socket.IO-Client-Swift.xcodeproj # path to your xcodeproj folder
xcode_scheme: SocketIO-Mac
osx_image: xcode10.2
branches:
only:
- master
- development
before_install:
# - brew update
# - brew outdated xctool || brew upgrade xctool
# - brew outdated carthage || brew upgrade carthage
- carthage update --platform macosx
script:
- xcodebuild -project Socket.IO-Client-Swift.xcodeproj -scheme SocketIO build test -quiet
# - xcodebuild -project Socket.IO-Client-Swift.xcodeproj -scheme SocketIO build-for-testing -quiet
# - xctool -project Socket.IO-Client-Swift.xcodeproj -scheme SocketIO run-tests --parallelize
- swift test

View File

@ -1,3 +1,26 @@
# v16.1.0
- Remove support for iOS 11.
- Update to Starscream 4.0.6
# v16.0.0
- Removed Objective-C support. It's time for you to embrace Swift.
- Socket.io 3 support.
# v15.3.0
- Add `==` operators for `SocketAckStatus` and `String`
# v15.2.0
- Small fixes.
# v15.1.0
- Add ability to enable websockets SOCKS proxy.
- Fix emit completion callback not firing on websockets [#1178](https://github.com/socketio/socket.io-client-swift/issues/1178)
# v15.0.0
- Swift 5

View File

@ -1 +1 @@
github "daltoniam/Starscream" ~> 3.1
github "daltoniam/Starscream" ~> 4.0.8

View File

@ -1 +1 @@
github "daltoniam/Starscream" "3.1.0"
github "daltoniam/Starscream" "4.0.8"

View File

@ -6,8 +6,8 @@
"repositoryURL": "https://github.com/daltoniam/Starscream",
"state": {
"branch": null,
"revision": "9c03ef715d1bc9334b446c90df53586dd38cf849",
"version": "3.1.0"
"revision": "c6bfd1af48efcc9a9ad203665db12375ba6b145a",
"version": "4.0.8"
}
}
]

View File

@ -1,4 +1,4 @@
// swift-tools-version:5.0
// swift-tools-version:5.4
import PackageDescription
@ -8,7 +8,7 @@ let package = Package(
.library(name: "SocketIO", targets: ["SocketIO"])
],
dependencies: [
.package(url: "https://github.com/daltoniam/Starscream", .upToNextMinor(from: "3.1.0")),
.package(url: "https://github.com/daltoniam/Starscream", .upToNextMajor(from: "4.0.8")),
],
targets: [
.target(name: "SocketIO", dependencies: ["Starscream"]),

View File

@ -18,6 +18,10 @@ socket.on("currentAmount") {data, ack in
guard let cur = data[0] as? Double else { return }
socket.emitWithAck("canUpdate", cur).timingOut(after: 0) {data in
if data.first as? String ?? "passed" == SocketAckStatus.noAck {
// Handle ack timeout
}
socket.emit("update", ["amount": cur + 2.50])
}
@ -27,52 +31,23 @@ socket.on("currentAmount") {data, ack in
socket.connect()
```
## Objective-C Example
```objective-c
@import SocketIO;
NSURL* url = [[NSURL alloc] initWithString:@"http://localhost:8080"];
SocketManager* manager = [[SocketManager alloc] initWithSocketURL:url config:@{@"log": @YES, @"compress": @YES}];
SocketIOClient* socket = manager.defaultSocket;
[socket on:@"connect" callback:^(NSArray* data, SocketAckEmitter* ack) {
NSLog(@"socket connected");
}];
[socket on:@"currentAmount" callback:^(NSArray* data, SocketAckEmitter* ack) {
double cur = [[data objectAtIndex:0] floatValue];
[[socket emitWithAck:@"canUpdate" with:@[@(cur)]] timingOutAfter:0 callback:^(NSArray* data) {
[socket emit:@"update" with:@[@{@"amount": @(cur + 2.50)}]];
}];
[ack with:@[@"Got your currentAmount, ", @"dude"]];
}];
[socket connect];
```
## Features
- Supports socket.io 2.0+ (For socket.io 1.0 use v9.x)
- Supports binary
- Supports Socket.IO server 2.0+/3.0+/4.0+ (see the [compatibility table](https://nuclearace.github.io/Socket.IO-Client-Swift/Compatibility.html))
- Supports Binary
- Supports Polling and WebSockets
- Supports TLS/SSL
- Can be used from Objective-C
## FAQS
Checkout the [FAQs](https://nuclearace.github.io/Socket.IO-Client-Swift/faq.html) for commonly asked questions.
Checkout the [12to13](https://nuclearace.github.io/Socket.IO-Client-Swift/12to13.html) guide for migrating to v13+ from v12 below.
Checkout the [15to16](https://nuclearace.github.io/Socket.IO-Client-Swift/15to16.html) guide for migrating to v16+ from v15.
## Installation
Requires Swift 4/5 and Xcode 10.x
If you need Swift 2.3 use the [swift2.3 tag](https://github.com/socketio/socket.io-client-swift/releases/tag/swift2.3) (Pre-Swift 4 support is no longer maintained)
If you need Swift 3.x use v11.1.3.
### Swift Package Manager
Add the project as a dependency to your Package.swift:
```swift
@ -86,7 +61,7 @@ let package = Package(
.executable(name: "socket.io-test", targets: ["YourTargetName"])
],
dependencies: [
.package(url: "https://github.com/socketio/socket.io-client-swift", .upToNextMinor(from: "15.0.0"))
.package(url: "https://github.com/socketio/socket.io-client-swift", .upToNextMinor(from: "16.1.1"))
],
targets: [
.target(name: "YourTargetName", dependencies: ["SocketIO"], path: "./Path/To/Your/Sources")
@ -99,7 +74,7 @@ Then import `import SocketIO`.
### Carthage
Add this line to your `Cartfile`:
```
github "socketio/socket.io-client-swift" ~> 15.0.0
github "socketio/socket.io-client-swift" ~> 16.1.1
```
Run `carthage update --platform ios,macosx`.
@ -113,7 +88,7 @@ Create `Podfile` and add `pod 'Socket.IO-Client-Swift'`:
use_frameworks!
target 'YourApp' do
pod 'Socket.IO-Client-Swift', '~> 15.0.0'
pod 'Socket.IO-Client-Swift', '~> 16.1.1'
end
```

View File

@ -1,31 +1,31 @@
Pod::Spec.new do |s|
s.name = "Socket.IO-Client-Swift"
s.module_name = "SocketIO"
s.version = "15.0.0"
s.version = "16.1.1"
s.summary = "Socket.IO-client for iOS and OS X"
s.description = <<-DESC
Socket.IO-client for iOS and OS X.
Supports ws/wss/polling connections and binary.
For socket.io 2.0+ and Swift.
For socket.io 3.0+ and Swift.
DESC
s.homepage = "https://github.com/socketio/socket.io-client-swift"
s.license = { :type => 'MIT' }
s.author = { "Erik" => "nuclear.ace@gmail.com" }
s.ios.deployment_target = '8.0'
s.osx.deployment_target = '10.10'
s.tvos.deployment_target = '9.0'
s.watchos.deployment_target = '2.0'
s.ios.deployment_target = '12.0'
s.osx.deployment_target = '10.13'
s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '5.0'
s.requires_arc = true
s.source = {
:git => "https://github.com/socketio/socket.io-client-swift.git",
:tag => 'v15.0.0',
:tag => 'v16.1.1',
:submodules => true
}
s.swift_version = "5"
s.pod_target_xcconfig = {
'SWIFT_VERSION' => '5.0'
'SWIFT_VERSION' => '5.4'
}
s.source_files = "Source/SocketIO/**/*.swift", "Source/SocketIO/*.swift"
s.dependency "Starscream", "~> 3.1"
s.dependency "Starscream", "~> 4.0.8"
end

View File

@ -3,7 +3,7 @@
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objectVersion = 54;
objects = {
/* Begin PBXBuildFile section */
@ -18,14 +18,12 @@
1C686BE61F869AFD007D8627 /* SocketAckManagerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C686BD61F869AF1007D8627 /* SocketAckManagerTest.swift */; };
1C686BE71F869AFD007D8627 /* SocketParserTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C686BD71F869AF1007D8627 /* SocketParserTest.swift */; };
1C686BE81F869AFD007D8627 /* SocketNamespacePacketTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C686BD81F869AF1007D8627 /* SocketNamespacePacketTest.swift */; };
1C686C001F869EAE007D8627 /* SocketObjectiveCTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C686BFE1F869E9D007D8627 /* SocketObjectiveCTest.m */; };
572EF2431B51F18A00EEBB58 /* SocketIO.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 572EF2381B51F18A00EEBB58 /* SocketIO.framework */; };
579C7D4C2731B487009F8A2F /* Starscream.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 579C7D4B2731B487009F8A2F /* Starscream.xcframework */; };
6CA08A981D615C0B0061FD2A /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6CA08A971D615C0B0061FD2A /* Security.framework */; };
74BF53581F894326004972D8 /* SocketIO.h in Headers */ = {isa = PBXBuildFile; fileRef = 572EF23C1B51F18A00EEBB58 /* SocketIO.h */; settings = {ATTRIBUTES = (Public, ); }; };
74D0F5961F8053950037C4DC /* Starscream.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9432E00B1F77F883006AF628 /* Starscream.framework */; };
74DA21741F09440F009C19EE /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 74DA21731F09440F009C19EE /* libz.tbd */; };
74DA217C1F09457B009C19EE /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 74DA21731F09440F009C19EE /* libz.tbd */; };
9432E00F1F77F8C4006AF628 /* SSLSecurity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9432E0061F77F7CA006AF628 /* SSLSecurity.swift */; };
DD52B048C71D724ABBD18C71 /* SocketTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD52BDC9E66AADA2CC5E8246 /* SocketTypes.swift */; };
DD52B11AF936352BAE30B2C8 /* SocketStringReader.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD52BA240D139F72633D4159 /* SocketStringReader.swift */; };
DD52B1F8BA0455EBE7C1B93E /* SocketAckEmitter.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD52BFF2E3216CDC364BB8AF /* SocketAckEmitter.swift */; };
@ -34,7 +32,6 @@
DD52B3A6C1E082841C35C85D /* SocketEngineClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD52BE5FDCE1D684132E897C /* SocketEngineClient.swift */; };
DD52B44AE56F2E07F3F3F991 /* SocketAckManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD52B09F7984E730513AB7E5 /* SocketAckManager.swift */; };
DD52B4DFA12F2599410205D9 /* SocketEngineWebsocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD52BE9AD8B2BD7F841CD1D4 /* SocketEngineWebsocket.swift */; };
DD52B53F2609D91A683DFCDD /* ManagerObjectiveCTest.m in Sources */ = {isa = PBXBuildFile; fileRef = DD52BB5E907D283ACC31E17F /* ManagerObjectiveCTest.m */; };
DD52B56DE03CDB4F40BD1A23 /* SocketExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD52B471D780013E18DF9335 /* SocketExtensions.swift */; };
DD52B57E7ABC61B57EE2A4B8 /* SocketPacket.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD52B59C11D3D2BC63612E50 /* SocketPacket.swift */; };
DD52B883F942CD5A9D29892B /* SocketEnginePollable.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD52B2D110F55723F82B108E /* SocketEnginePollable.swift */; };
@ -78,18 +75,15 @@
572EF23B1B51F18A00EEBB58 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
572EF23C1B51F18A00EEBB58 /* SocketIO.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SocketIO.h; sourceTree = "<group>"; };
572EF2421B51F18A00EEBB58 /* SocketIO-Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "SocketIO-Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
579C7D4B2731B487009F8A2F /* Starscream.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Starscream.xcframework; path = Carthage/Build/Starscream.xcframework; sourceTree = "<group>"; };
6CA08A951D615C040061FD2A /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/System/Library/Frameworks/Security.framework; sourceTree = DEVELOPER_DIR; };
6CA08A971D615C0B0061FD2A /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };
6CA08A991D615C140061FD2A /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS9.2.sdk/System/Library/Frameworks/Security.framework; sourceTree = DEVELOPER_DIR; };
749FA19F1F8112E7002FBB30 /* Starscream.framework.dSYM */ = {isa = PBXFileReference; lastKnownFileType = wrapper.dsym; name = Starscream.framework.dSYM; path = Carthage/Build/Mac/Starscream.framework.dSYM; sourceTree = "<group>"; };
749FA1A11F811408002FBB30 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
74D0F58D1F804FED0037C4DC /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/usr/lib/libz.tbd; sourceTree = DEVELOPER_DIR; };
74DA21731F09440F009C19EE /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
74DA217D1F0945E9009C19EE /* libcommonCrypto.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libcommonCrypto.tbd; path = usr/lib/system/libcommonCrypto.tbd; sourceTree = SDKROOT; };
9432E0061F77F7CA006AF628 /* SSLSecurity.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SSLSecurity.swift; sourceTree = "<group>"; };
9432E0091F77F87D006AF628 /* Starscream.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Starscream.framework; path = Carthage/Build/iOS/Starscream.framework; sourceTree = "<group>"; };
9432E00B1F77F883006AF628 /* Starscream.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Starscream.framework; path = Carthage/Build/Mac/Starscream.framework; sourceTree = "<group>"; };
9432E00D1F77F889006AF628 /* Starscream.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Starscream.framework; path = Carthage/Build/tvOS/Starscream.framework; sourceTree = "<group>"; };
DD52B078DB0A3C3D1BB507CD /* SocketIOClientOption.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SocketIOClientOption.swift; sourceTree = "<group>"; };
DD52B09F7984E730513AB7E5 /* SocketAckManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SocketAckManager.swift; sourceTree = "<group>"; };
DD52B1D9BC4AE46D38D827DE /* SocketIOStatus.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SocketIOStatus.swift; sourceTree = "<group>"; };
@ -123,8 +117,8 @@
buildActionMask = 2147483647;
files = (
74DA21741F09440F009C19EE /* libz.tbd in Frameworks */,
579C7D4C2731B487009F8A2F /* Starscream.xcframework in Frameworks */,
6CA08A981D615C0B0061FD2A /* Security.framework in Frameworks */,
74D0F5961F8053950037C4DC /* Starscream.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -234,11 +228,8 @@
isa = PBXGroup;
children = (
749FA1A11F811408002FBB30 /* Foundation.framework */,
749FA19F1F8112E7002FBB30 /* Starscream.framework.dSYM */,
579C7D4B2731B487009F8A2F /* Starscream.xcframework */,
74D0F58D1F804FED0037C4DC /* libz.tbd */,
9432E0091F77F87D006AF628 /* Starscream.framework */,
9432E00B1F77F883006AF628 /* Starscream.framework */,
9432E00D1F77F889006AF628 /* Starscream.framework */,
74DA217D1F0945E9009C19EE /* libcommonCrypto.tbd */,
74DA21731F09440F009C19EE /* libz.tbd */,
6CA08A9E1D615C340061FD2A /* tvOS */,
@ -353,9 +344,9 @@
isa = PBXNativeTarget;
buildConfigurationList = 572EF24B1B51F18A00EEBB58 /* Build configuration list for PBXNativeTarget "SocketIO" */;
buildPhases = (
572EF2351B51F18A00EEBB58 /* Headers */,
572EF2331B51F18A00EEBB58 /* Sources */,
572EF2341B51F18A00EEBB58 /* Frameworks */,
572EF2351B51F18A00EEBB58 /* Headers */,
572EF2361B51F18A00EEBB58 /* Resources */,
);
buildRules = (
@ -474,7 +465,6 @@
DD52BB69B6D260035B652CA4 /* SocketAnyEvent.swift in Sources */,
DD52BF924BEF05E1235CFD29 /* SocketIOClient.swift in Sources */,
DD52BFEB4DBD3BF8D93DAEFF /* SocketEventHandler.swift in Sources */,
9432E00F1F77F8C4006AF628 /* SSLSecurity.swift in Sources */,
DD52BB9A3E42FF2DD6BE7C2F /* SocketIOClientSpec.swift in Sources */,
DD52B2AFE7D46039C7AE4D19 /* SocketIOClientOption.swift in Sources */,
DD52BE4D1E6BB752CD9614A6 /* SocketIOStatus.swift in Sources */,
@ -495,7 +485,6 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
1C686C001F869EAE007D8627 /* SocketObjectiveCTest.m in Sources */,
1C686BE21F869AFD007D8627 /* SocketIOClientConfigurationTest.swift in Sources */,
1C686BE31F869AFD007D8627 /* SocketEngineTest.swift in Sources */,
1C686BE41F869AFD007D8627 /* SocketSideEffectTest.swift in Sources */,
@ -504,7 +493,6 @@
1C686BE71F869AFD007D8627 /* SocketParserTest.swift in Sources */,
1C686BE81F869AFD007D8627 /* SocketNamespacePacketTest.swift in Sources */,
DD52BCCD25EFA76E0F9B313C /* SocketMangerTest.swift in Sources */,
DD52B53F2609D91A683DFCDD /* ManagerObjectiveCTest.m in Sources */,
1C657CDE5D510E8E2E573E39 /* utils.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
@ -523,7 +511,6 @@
572EF2121B51F12F00EEBB58 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
BITCODE_GENERATION_MODE = bitcode;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
@ -543,37 +530,11 @@
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "Mac Developer";
ENABLE_BITCODE = YES;
"ENABLE_BITCODE[sdk=macosx*]" = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
"FRAMEWORK_SEARCH_PATHS[sdk=appletvos*]" = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/tvOS",
);
"FRAMEWORK_SEARCH_PATHS[sdk=appletvsimulator*]" = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/tvOS",
);
"FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]" = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/iOS",
);
"FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]" = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/iOS",
);
"FRAMEWORK_SEARCH_PATHS[sdk=macosx*]" = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/Mac",
);
"FRAMEWORK_SEARCH_PATHS[sdk=watchos*]" = (
"$(PROJECT_DIR)/Carthage/Build/watchOS",
"$(inherited)",
);
"FRAMEWORK_SEARCH_PATHS[sdk=watchsimulator*]" = (
"$(PROJECT_DIR)/Carthage/Build/watchOS",
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/",
);
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
@ -583,23 +544,22 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
MACOSX_DEPLOYMENT_TARGET = 10.10;
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
MACOSX_DEPLOYMENT_TARGET = 10.14;
ONLY_ACTIVE_ARCH = YES;
PRODUCT_NAME = SocketIO;
SUPPORTED_PLATFORMS = "macosx appletvsimulator appletvos iphonesimulator iphoneos watchos watchsimulator";
SUPPORTED_PLATFORMS = "macosx appletvsimulator appletvos iphonesimulator iphoneos watchos watchsimulator xrsimulator xros";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
TVOS_DEPLOYMENT_TARGET = 9.0;
TVOS_DEPLOYMENT_TARGET = 10.0;
VALID_ARCHS = "i386 x86_64 armv7 armv7s arm64 armv7k";
WATCHOS_DEPLOYMENT_TARGET = 2.0;
WATCHOS_DEPLOYMENT_TARGET = 7.0;
};
name = Debug;
};
572EF2131B51F12F00EEBB58 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
BITCODE_GENERATION_MODE = bitcode;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
@ -619,36 +579,10 @@
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "Mac Developer";
ENABLE_BITCODE = YES;
"ENABLE_BITCODE[sdk=macosx*]" = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
"FRAMEWORK_SEARCH_PATHS[sdk=appletvos*]" = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/tvOS",
);
"FRAMEWORK_SEARCH_PATHS[sdk=appletvsimulator*]" = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/tvOS",
);
"FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]" = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/iOS",
);
"FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]" = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/iOS",
);
"FRAMEWORK_SEARCH_PATHS[sdk=macosx*]" = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/Mac",
);
"FRAMEWORK_SEARCH_PATHS[sdk=watchos*]" = (
"$(PROJECT_DIR)/Carthage/Build/watchOS",
"$(inherited)",
);
"FRAMEWORK_SEARCH_PATHS[sdk=watchsimulator*]" = (
"$(PROJECT_DIR)/Carthage/Build/watchOS",
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/",
);
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
@ -657,22 +591,25 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
MACOSX_DEPLOYMENT_TARGET = 10.10;
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
MACOSX_DEPLOYMENT_TARGET = 10.14;
PRODUCT_NAME = SocketIO;
SUPPORTED_PLATFORMS = "macosx appletvsimulator appletvos iphonesimulator iphoneos watchos watchsimulator";
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
SUPPORTED_PLATFORMS = "macosx appletvsimulator appletvos iphonesimulator iphoneos watchos watchsimulator xrsimulator xros";
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-O";
SWIFT_VERSION = 5.0;
TVOS_DEPLOYMENT_TARGET = 9.0;
TVOS_DEPLOYMENT_TARGET = 10.0;
VALID_ARCHS = "i386 x86_64 armv7 armv7s arm64 armv7k";
WATCHOS_DEPLOYMENT_TARGET = 2.0;
WATCHOS_DEPLOYMENT_TARGET = 7.0;
};
name = Release;
};
572EF24C1B51F18A00EEBB58 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES;
ALWAYS_SEARCH_USER_PATHS = NO;
APPLICATION_EXTENSION_API_ONLY = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
@ -695,8 +632,6 @@
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_BITCODE = YES;
"ENABLE_BITCODE[sdk=macosx*]" = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
@ -717,8 +652,17 @@
GCC_WARN_UNUSED_VARIABLE = YES;
INFOPLIST_FILE = SocketIO/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = (
"$(inherited)",
"@executable_path/../Frameworks",
"@loader_path/../Frameworks",
);
LIBRARY_SEARCH_PATHS = "$(inherited)";
MACOSX_DEPLOYMENT_TARGET = 10.10;
MTL_ENABLE_DEBUG_INFO = YES;
@ -727,12 +671,15 @@
SDKROOT = macosx;
SKIP_INSTALL = YES;
SUPPORTED_PLATFORMS = "$(inherited)";
SUPPORTS_MACCATALYST = YES;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
SWIFT_INCLUDE_PATHS = "";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2,3,4";
TVOS_DEPLOYMENT_TARGET = 10.0;
TARGETED_DEVICE_FAMILY = "1,2,3,4,7";
TVOS_DEPLOYMENT_TARGET = 12.0;
VALID_ARCHS = "$(inherited)";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
@ -742,7 +689,9 @@
572EF24D1B51F18A00EEBB58 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES;
ALWAYS_SEARCH_USER_PATHS = NO;
APPLICATION_EXTENSION_API_ONLY = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
@ -765,8 +714,6 @@
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_BITCODE = YES;
"ENABLE_BITCODE[sdk=macosx*]" = NO;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
@ -782,8 +729,17 @@
GCC_WARN_UNUSED_VARIABLE = YES;
INFOPLIST_FILE = SocketIO/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = (
"$(inherited)",
"@executable_path/../Frameworks",
"@loader_path/../Frameworks",
);
LIBRARY_SEARCH_PATHS = "$(inherited)";
MACOSX_DEPLOYMENT_TARGET = 10.10;
MTL_ENABLE_DEBUG_INFO = NO;
@ -791,11 +747,14 @@
SDKROOT = macosx;
SKIP_INSTALL = YES;
SUPPORTED_PLATFORMS = "$(inherited)";
SUPPORTS_MACCATALYST = YES;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
SWIFT_INCLUDE_PATHS = "";
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2,3,4";
TVOS_DEPLOYMENT_TARGET = 10.0;
TARGETED_DEVICE_FAMILY = "1,2,3,4,7";
TVOS_DEPLOYMENT_TARGET = 12.0;
VALID_ARCHS = "$(inherited)";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
@ -823,7 +782,6 @@
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_BITCODE = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(DEVELOPER_FRAMEWORKS_DIR)",
@ -866,10 +824,17 @@
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
INFOPLIST_FILE = SocketIO/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks @loader_path/../Frameworks";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = (
"@executable_path/../Frameworks",
"@loader_path/../Frameworks",
);
LIBRARY_SEARCH_PATHS = "$(inherited)";
MACOSX_DEPLOYMENT_TARGET = 10.10;
MACOSX_DEPLOYMENT_TARGET = 10.13;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "io.socket.$(PRODUCT_NAME:rfc1034identifier)";
@ -879,7 +844,7 @@
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
SWIFT_VERSION = 5.0;
TVOS_DEPLOYMENT_TARGET = 10.0;
TVOS_DEPLOYMENT_TARGET = 12.0;
VALID_ARCHS = "$(inherited)";
};
name = Debug;
@ -905,7 +870,6 @@
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_BITCODE = NO;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
FRAMEWORK_SEARCH_PATHS = (
@ -942,10 +906,17 @@
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
INFOPLIST_FILE = SocketIO/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks @loader_path/../Frameworks";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = (
"@executable_path/../Frameworks",
"@loader_path/../Frameworks",
);
LIBRARY_SEARCH_PATHS = "$(inherited)";
MACOSX_DEPLOYMENT_TARGET = 10.10;
MACOSX_DEPLOYMENT_TARGET = 10.13;
MTL_ENABLE_DEBUG_INFO = NO;
PRODUCT_BUNDLE_IDENTIFIER = "io.socket.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
@ -953,7 +924,7 @@
SUPPORTED_PLATFORMS = "$(inherited)";
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
SWIFT_VERSION = 5.0;
TVOS_DEPLOYMENT_TARGET = 10.0;
TVOS_DEPLOYMENT_TARGET = 12.0;
VALID_ARCHS = "$(inherited)";
};
name = Release;

View File

@ -28,7 +28,7 @@ import Foundation
/// A class that represents a waiting ack call.
///
/// **NOTE**: You should not store this beyond the life of the event handler.
public final class SocketAckEmitter : NSObject {
public final class SocketAckEmitter: NSObject {
private unowned let socket: SocketIOClient
private let ackNum: Int
@ -101,7 +101,7 @@ public final class SocketAckEmitter : NSObject {
/// ...
/// }
/// ```
public final class OnAckCallback : NSObject {
public final class OnAckCallback: NSObject {
private let ackNumber: Int
private let binary: Bool
private let items: [Any]
@ -115,6 +115,7 @@ public final class OnAckCallback : NSObject {
self.binary = binary
}
/// :nodoc:
deinit {
DefaultSocketLogger.Logger.log("OnAckCallback for \(ackNumber) being released", type: "OnAckCallback")
}

View File

@ -31,6 +31,16 @@ public enum SocketAckStatus : String {
/// The ack timed out.
case noAck = "NO ACK"
/// Tests whether a string is equal to a given SocketAckStatus
public static func == (lhs: String, rhs: SocketAckStatus) -> Bool {
return lhs == rhs.rawValue
}
/// Tests whether a string is equal to a given SocketAckStatus
public static func == (lhs: SocketAckStatus, rhs: String) -> Bool {
return rhs == lhs
}
}
private struct SocketAck : Hashable {

View File

@ -40,23 +40,14 @@ import Foundation
///
/// **NOTE**: The client is not thread/queue safe, all interaction with the socket should be done on the `manager.handleQueue`
///
open class SocketIOClient : NSObject, SocketIOClientSpec {
open class SocketIOClient: NSObject, SocketIOClientSpec {
// MARK: Properties
/// The namespace that this socket is currently connected to.
///
/// **Must** start with a `/`.
@objc
public let nsp: String
/// The session id of this client.
@objc
public var sid: String {
guard let engine = manager?.engine else { return "" }
return nsp == "/" ? engine.sid : "\(nsp)#\(engine.sid)"
}
/// A handler that will be called on any event.
public private(set) var anyHandler: ((SocketAnyEvent) -> ())?
@ -64,7 +55,6 @@ open class SocketIOClient : NSObject, SocketIOClientSpec {
public private(set) var handlers = [SocketEventHandler]()
/// The manager for this socket.
@objc
public private(set) weak var manager: SocketManagerSpec?
/// A view into this socket where emits do not check for binary data.
@ -76,18 +66,20 @@ open class SocketIOClient : NSObject, SocketIOClientSpec {
/// ```
///
/// **NOTE**: It is not safe to hold on to this view beyond the life of the socket.
@objc
public private(set) lazy var rawEmitView = SocketRawView(socket: self)
/// The status of this client.
@objc
public private(set) var status = SocketIOStatus.notConnected {
didSet {
handleClientEvent(.statusChange, data: [status, status.rawValue])
}
}
/// The id of this socket.io connect. This is different from the sid of the engine.io connection.
public private(set) var sid: String?
let ackHandlers = SocketAckManager()
var connectPayload: [String: Any]?
private(set) var currentAck = -1
@ -99,7 +91,6 @@ open class SocketIOClient : NSObject, SocketIOClientSpec {
///
/// - parameter manager: The manager for this socket.
/// - parameter nsp: The namespace of the socket.
@objc
public init(manager: SocketManagerSpec, nsp: String) {
self.manager = manager
self.nsp = nsp
@ -107,6 +98,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec {
super.init()
}
/// :nodoc:
deinit {
DefaultSocketLogger.Logger.log("Client is being released", type: logType)
}
@ -116,20 +108,21 @@ open class SocketIOClient : NSObject, SocketIOClientSpec {
/// Connect to the server. The same as calling `connect(timeoutAfter:withHandler:)` with a timeout of 0.
///
/// Only call after adding your event listeners, unless you know what you're doing.
@objc
open func connect() {
connect(timeoutAfter: 0, withHandler: nil)
///
/// - parameter withPayload: An optional payload sent on connect
open func connect(withPayload payload: [String: Any]? = nil) {
connect(withPayload: payload, timeoutAfter: 0, withHandler: nil)
}
/// Connect to the server. If we aren't connected after `timeoutAfter` seconds, then `withHandler` is called.
///
/// Only call after adding your event listeners, unless you know what you're doing.
///
/// - parameter withPayload: An optional payload sent on connect
/// - parameter timeoutAfter: The number of seconds after which if we are not connected we assume the connection
/// has failed. Pass 0 to never timeout.
/// - parameter handler: The handler to call when the client fails to connect.
@objc
open func connect(timeoutAfter: Double, withHandler handler: (() -> ())?) {
open func connect(withPayload payload: [String: Any]? = nil, timeoutAfter: Double, withHandler handler: (() -> ())?) {
assert(timeoutAfter >= 0, "Invalid timeout: \(timeoutAfter)")
guard let manager = self.manager, status != .connected else {
@ -139,20 +132,26 @@ open class SocketIOClient : NSObject, SocketIOClientSpec {
status = .connecting
joinNamespace()
joinNamespace(withPayload: payload)
if manager.status == .connected && nsp == "/" {
switch manager.version {
case .three:
break
case .two where manager.status == .connected && nsp == "/":
// We might not get a connect event for the default nsp, fire immediately
didConnect(toNamespace: nsp)
didConnect(toNamespace: nsp, payload: nil)
return
case _:
break
}
guard timeoutAfter != 0 else { return }
manager.handleQueue.asyncAfter(deadline: DispatchTime.now() + timeoutAfter) {[weak self] in
guard let this = self, this.status == .connecting || this.status == .notConnected else { return }
DefaultSocketLogger.Logger.log("Timeout: Socket not connected, so setting to disconnected", type: this.logType)
this.status = .disconnected
this.leaveNamespace()
@ -170,14 +169,15 @@ open class SocketIOClient : NSObject, SocketIOClientSpec {
/// then this is only called when the client connects to that namespace.
///
/// - parameter toNamespace: The namespace that was connected to.
open func didConnect(toNamespace namespace: String) {
open func didConnect(toNamespace namespace: String, payload: [String: Any]?) {
guard status != .connected else { return }
DefaultSocketLogger.Logger.log("Socket connected", type: logType)
status = .connected
sid = payload?["sid"] as? String
handleClientEvent(.connect, data: [namespace])
handleClientEvent(.connect, data: payload == nil ? [namespace] : [namespace, payload!])
}
/// Called when the client has disconnected from socket.io.
@ -189,6 +189,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec {
DefaultSocketLogger.Logger.log("Disconnected: \(reason)", type: logType)
status = .disconnected
sid = ""
handleClientEvent(.disconnect, data: [reason])
}
@ -197,7 +198,6 @@ open class SocketIOClient : NSObject, SocketIOClientSpec {
///
/// This will cause the socket to leave the namespace it is associated to, as well as remove itself from the
/// `manager`.
@objc
open func disconnect() {
DefaultSocketLogger.Logger.log("Closing socket", type: logType)
@ -213,8 +213,21 @@ open class SocketIOClient : NSObject, SocketIOClientSpec {
/// - parameter items: The items to send with this event. May be left out.
/// - parameter completion: Callback called on transport write completion.
open func emit(_ event: String, _ items: SocketData..., completion: (() -> ())? = nil) {
emit(event, with: items, completion: completion)
}
/// Send an event to the server, with optional data items and optional write completion handler.
///
/// If an error occurs trying to transform `items` into their socket representation, a `SocketClientEvent.error`
/// will be emitted. The structure of the error data is `[eventName, items, theError]`
///
/// - parameter event: The event to send.
/// - parameter items: The items to send with this event. May be left out.
/// - parameter completion: Callback called on transport write completion.
open func emit(_ event: String, with items: [SocketData], completion: (() -> ())?) {
do {
try emit(event, with: items.map({ try $0.socketRepresentation() }), completion: completion)
emit([event] + (try items.map({ try $0.socketRepresentation() })), completion: completion)
} catch {
DefaultSocketLogger.Logger.error("Error creating socketRepresentation for emit: \(event), \(items)",
type: logType)
@ -223,25 +236,6 @@ open class SocketIOClient : NSObject, SocketIOClientSpec {
}
}
/// Same as emit, but meant for Objective-C
///
/// - parameter event: The event to send.
/// - parameter items: The items to send with this event. Send an empty array to send no data.
@objc
open func emit(_ event: String, with items: [Any]) {
emit([event] + items)
}
/// Same as emit, but meant for Objective-C
///
/// - parameter event: The event to send.
/// - parameter items: The items to send with this event. Send an empty array to send no data.
/// - parameter completion: Callback called on transport write completion.
@objc
open func emit(_ event: String, with items: [Any], completion: (() -> ())? = nil) {
emit([event] + items, completion: completion)
}
/// Sends a message to the server, requesting an ack.
///
/// **NOTE**: It is up to the server send an ack back, just calling this method does not mean the server will ack.
@ -262,8 +256,32 @@ open class SocketIOClient : NSObject, SocketIOClientSpec {
/// - parameter items: The items to send with this event. May be left out.
/// - returns: An `OnAckCallback`. You must call the `timingOut(after:)` method before the event will be sent.
open func emitWithAck(_ event: String, _ items: SocketData...) -> OnAckCallback {
emitWithAck(event, with: items)
}
/// Sends a message to the server, requesting an ack.
///
/// **NOTE**: It is up to the server send an ack back, just calling this method does not mean the server will ack.
/// Check that your server's api will ack the event being sent.
///
/// If an error occurs trying to transform `items` into their socket representation, a `SocketClientEvent.error`
/// will be emitted. The structure of the error data is `[eventName, items, theError]`
///
/// Example:
///
/// ```swift
/// socket.emitWithAck("myEvent", 1).timingOut(after: 1) {data in
/// ...
/// }
/// ```
///
/// - parameter event: The event to send.
/// - parameter items: The items to send with this event. May be left out.
/// - returns: An `OnAckCallback`. You must call the `timingOut(after:)` method before the event will be sent.
open func emitWithAck(_ event: String, with items: [SocketData]) -> OnAckCallback {
do {
return emitWithAck(event, with: try items.map({ try $0.socketRepresentation() }))
return createOnAck([event] + (try items.map({ try $0.socketRepresentation() })))
} catch {
DefaultSocketLogger.Logger.error("Error creating socketRepresentation for emit: \(event), \(items)",
type: logType)
@ -274,27 +292,6 @@ open class SocketIOClient : NSObject, SocketIOClientSpec {
}
}
/// Same as emitWithAck, but for Objective-C
///
/// **NOTE**: It is up to the server send an ack back, just calling this method does not mean the server will ack.
/// Check that your server's api will ack the event being sent.
///
/// Example:
///
/// ```swift
/// socket.emitWithAck("myEvent", with: [1]).timingOut(after: 1) {data in
/// ...
/// }
/// ```
///
/// - parameter event: The event to send.
/// - parameter items: The items to send with this event. Use `[]` to send nothing.
/// - returns: An `OnAckCallback`. You must call the `timingOut(after:)` method before the event will be sent.
@objc
open func emitWithAck(_ event: String, with items: [Any]) -> OnAckCallback {
return createOnAck([event] + items)
}
func emit(_ data: [Any],
ack: Int? = nil,
binary: Bool = true,
@ -337,7 +334,6 @@ open class SocketIOClient : NSObject, SocketIOClientSpec {
///
/// - parameter ack: The number for this ack.
/// - parameter data: The data sent back with this ack.
@objc
open func handleAck(_ ack: Int, data: [Any]) {
guard status == .connected else { return }
@ -360,7 +356,6 @@ open class SocketIOClient : NSObject, SocketIOClientSpec {
/// - parameter data: The data that was sent with this event.
/// - parameter isInternalMessage: Whether this event was sent internally. If `true` it is always sent to handlers.
/// - parameter ack: If > 0 then this event expects to get an ack back from the client.
@objc
open func handleEvent(_ event: String, data: [Any], isInternalMessage: Bool, withAck ack: Int = -1) {
guard status == .connected || isInternalMessage else { return }
@ -386,7 +381,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec {
case .ack, .binaryAck:
handleAck(packet.id, data: packet.data)
case .connect:
didConnect(toNamespace: nsp)
didConnect(toNamespace: nsp, payload: packet.data.isEmpty ? nil : packet.data[0] as? [String: Any])
case .disconnect:
didDisconnect(reason: "Got Disconnect")
case .error:
@ -395,17 +390,19 @@ open class SocketIOClient : NSObject, SocketIOClientSpec {
}
/// Call when you wish to leave a namespace and disconnect this socket.
@objc
open func leaveNamespace() {
manager?.disconnectSocket(self)
}
/// Joins `nsp`.
@objc
open func joinNamespace() {
/// Joins `nsp`. You shouldn't need to call this directly, instead call `connect`.
///
/// - parameter withPayload: An optional payload sent on connect
open func joinNamespace(withPayload payload: [String: Any]? = nil) {
DefaultSocketLogger.Logger.log("Joining namespace \(nsp)", type: logType)
manager?.connectSocket(self)
connectPayload = payload
manager?.connectSocket(self, withPayload: connectPayload)
}
/// Removes handler(s) for a client event.
@ -422,7 +419,6 @@ open class SocketIOClient : NSObject, SocketIOClientSpec {
/// If you wish to remove a specific event, call the `off(id:)` with the UUID received from its `on` call.
///
/// - parameter event: The event to remove handlers for.
@objc
open func off(_ event: String) {
DefaultSocketLogger.Logger.log("Removing handler for event: \(event)", type: logType)
@ -434,7 +430,6 @@ open class SocketIOClient : NSObject, SocketIOClientSpec {
/// If you want to remove all events for an event, call the off `off(_:)` method with the event name.
///
/// - parameter id: The UUID of the handler you wish to remove.
@objc
open func off(id: UUID) {
DefaultSocketLogger.Logger.log("Removing handler with id: \(id)", type: logType)
@ -446,7 +441,6 @@ open class SocketIOClient : NSObject, SocketIOClientSpec {
/// - parameter event: The event name for this handler.
/// - parameter callback: The callback that will execute when this event is received.
/// - returns: A unique id for the handler that can be used to remove it.
@objc
@discardableResult
open func on(_ event: String, callback: @escaping NormalCallback) -> UUID {
DefaultSocketLogger.Logger.log("Adding handler for event: \(event)", type: logType)
@ -490,7 +484,6 @@ open class SocketIOClient : NSObject, SocketIOClientSpec {
/// - parameter event: The event name for this handler.
/// - parameter callback: The callback that will execute when this event is received.
/// - returns: A unique id for the handler that can be used to remove it.
@objc
@discardableResult
open func once(_ event: String, callback: @escaping NormalCallback) -> UUID {
DefaultSocketLogger.Logger.log("Adding once handler for event: \(event)", type: logType)
@ -511,20 +504,17 @@ open class SocketIOClient : NSObject, SocketIOClientSpec {
/// Adds a handler that will be called on every event.
///
/// - parameter handler: The callback that will execute whenever an event is received.
@objc
open func onAny(_ handler: @escaping (SocketAnyEvent) -> ()) {
anyHandler = handler
}
/// Tries to reconnect to the server.
@objc
@available(*, unavailable, message: "Call the manager's reconnect method")
open func reconnect() { }
/// Removes all handlers.
///
/// Can be used after disconnecting to break any potential remaining retain cycles.
@objc
open func removeAllHandlers() {
handlers.removeAll(keepingCapacity: false)
}
@ -533,7 +523,6 @@ open class SocketIOClient : NSObject, SocketIOClientSpec {
/// Called when the manager detects a broken connection, or when a manual reconnect is triggered.
///
/// - parameter reason: The reason this socket is reconnecting.
@objc
open func setReconnecting(reason: String) {
status = .connecting

View File

@ -25,6 +25,15 @@
import Foundation
import Starscream
/// The socket.io version being used.
public enum SocketIOVersion: Int {
/// socket.io 2, engine.io 3
case two = 2
/// socket.io 3, engine.io 4
case three = 3
}
protocol ClientOption : CustomStringConvertible, Equatable {
func getSocketIOOptionValue() -> Any
}
@ -53,6 +62,9 @@ public enum SocketIOClientOption : ClientOption {
/// If passed `true`, the only transport that will be used will be WebSockets.
case forceWebsockets(Bool)
/// If passed `true`, the WebSocket stream will be configured with the enableSOCKSProxy `true`.
case enableSOCKSProxy(Bool)
/// The queue that all interaction with the client should occur on. This is the queue that event handlers are
/// called on.
///
@ -77,10 +89,10 @@ public enum SocketIOClientOption : ClientOption {
/// The minimum number of seconds to wait before reconnect attempts.
case reconnectWait(Int)
/// The maximum number of seconds to wait before reconnect attempts.
case reconnectWaitMax(Int)
/// The randomization factor for calculating reconnect jitter.
case randomizationFactor(Double)
@ -88,7 +100,7 @@ public enum SocketIOClientOption : ClientOption {
case secure(Bool)
/// Allows you to set which certs are valid. Useful for SSL pinning.
case security(SSLSecurity)
case security(CertificatePinning)
/// If you're using a self-signed set. Only use for development.
case selfSigned(Bool)
@ -96,6 +108,12 @@ public enum SocketIOClientOption : ClientOption {
/// Sets an NSURLSessionDelegate for the underlying engine. Useful if you need to handle self-signed certs.
case sessionDelegate(URLSessionDelegate)
/// If passed `false`, the WebSocket stream will be configured with the useCustomEngine `false`.
case useCustomEngine(Bool)
/// The version of socket.io being used. This should match the server version. Default is 3.
case version(SocketIOVersion)
// MARK: Properties
/// The description of this option.
@ -143,6 +161,12 @@ public enum SocketIOClientOption : ClientOption {
description = "security"
case .sessionDelegate:
description = "sessionDelegate"
case .enableSOCKSProxy:
description = "enableSOCKSProxy"
case .useCustomEngine:
description = "customEngine"
case .version:
description = "version"
}
return description
@ -192,6 +216,12 @@ public enum SocketIOClientOption : ClientOption {
value = signed
case let .sessionDelegate(delegate):
value = delegate
case let .enableSOCKSProxy(enable):
value = enable
case let .useCustomEngine(enable):
value = enable
case let.version(versionNum):
value = versionNum
}
return value

View File

@ -54,6 +54,9 @@ public protocol SocketIOClientSpec : AnyObject {
/// **NOTE**: It is not safe to hold on to this view beyond the life of the socket.
var rawEmitView: SocketRawView { get }
/// The id of this socket.io connect. This is different from the sid of the engine.io connection.
var sid: String? { get }
/// The status of this client.
var status: SocketIOStatus { get }
@ -62,22 +65,25 @@ public protocol SocketIOClientSpec : AnyObject {
/// Connect to the server. The same as calling `connect(timeoutAfter:withHandler:)` with a timeout of 0.
///
/// Only call after adding your event listeners, unless you know what you're doing.
func connect()
///
/// - parameter payload: An optional payload sent on connect
func connect(withPayload payload: [String: Any]?)
/// Connect to the server. If we aren't connected after `timeoutAfter` seconds, then `withHandler` is called.
///
/// Only call after adding your event listeners, unless you know what you're doing.
///
/// - parameter withPayload: An optional payload sent on connect
/// - parameter timeoutAfter: The number of seconds after which if we are not connected we assume the connection
/// has failed. Pass 0 to never timeout.
/// - parameter handler: The handler to call when the client fails to connect.
func connect(timeoutAfter: Double, withHandler handler: (() -> ())?)
func connect(withPayload payload: [String: Any]?, timeoutAfter: Double, withHandler handler: (() -> ())?)
/// Called when the client connects to a namespace. If the client was created with a namespace upfront,
/// then this is only called when the client connects to that namespace.
///
/// - parameter toNamespace: The namespace that was connected to.
func didConnect(toNamespace namespace: String)
func didConnect(toNamespace namespace: String, payload: [String: Any]?)
/// Called when the client has disconnected from socket.io.
///
@ -101,6 +107,16 @@ public protocol SocketIOClientSpec : AnyObject {
/// - parameter items: The items to send with this event. May be left out.
/// - parameter completion: Callback called on transport write completion.
func emit(_ event: String, _ items: SocketData..., completion: (() -> ())?)
/// Send an event to the server, with optional data items and optional write completion handler.
///
/// If an error occurs trying to transform `items` into their socket representation, a `SocketClientEvent.error`
/// will be emitted. The structure of the error data is `[eventName, items, theError]`
///
/// - parameter event: The event to send.
/// - parameter items: The items to send with this event. May be left out.
/// - parameter completion: Callback called on transport write completion.
func emit(_ event: String, with items: [SocketData], completion: (() -> ())?)
/// Call when you wish to tell the server that you've received the event for `ack`.
///
@ -128,6 +144,27 @@ public protocol SocketIOClientSpec : AnyObject {
/// - parameter items: The items to send with this event. May be left out.
/// - returns: An `OnAckCallback`. You must call the `timingOut(after:)` method before the event will be sent.
func emitWithAck(_ event: String, _ items: SocketData...) -> OnAckCallback
/// Sends a message to the server, requesting an ack.
///
/// **NOTE**: It is up to the server send an ack back, just calling this method does not mean the server will ack.
/// Check that your server's api will ack the event being sent.
///
/// If an error occurs trying to transform `items` into their socket representation, a `SocketClientEvent.error`
/// will be emitted. The structure of the error data is `[eventName, items, theError]`
///
/// Example:
///
/// ```swift
/// socket.emitWithAck("myEvent", 1).timingOut(after: 1) {data in
/// ...
/// }
/// ```
///
/// - parameter event: The event to send.
/// - parameter items: The items to send with this event. May be left out.
/// - returns: An `OnAckCallback`. You must call the `timingOut(after:)` method before the event will be sent.
func emitWithAck(_ event: String, with items: [SocketData]) -> OnAckCallback
/// Called when socket.io has acked one of our emits. Causes the corresponding ack callback to be called.
///
@ -158,8 +195,10 @@ public protocol SocketIOClientSpec : AnyObject {
/// Call when you wish to leave a namespace and disconnect this socket.
func leaveNamespace()
/// Joins `nsp`.
func joinNamespace()
/// Joins `nsp`. You shouldn't need to call this directly, instead call `connect`.
///
/// - Parameter withPayload: The payload to connect when joining this namespace
func joinNamespace(withPayload payload: [String: Any]?)
/// Removes handler(s) for a client event.
///

View File

@ -28,7 +28,10 @@ import Starscream
/// The class that handles the engine.io protocol and transports.
/// See `SocketEnginePollable` and `SocketEngineWebsocket` for transport specific methods.
open class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePollable, SocketEngineWebsocket, ConfigSettable {
open class SocketEngine: NSObject, WebSocketDelegate, URLSessionDelegate,
SocketEnginePollable, SocketEngineWebsocket, ConfigSettable {
// MARK: Properties
private static let logType = "SocketEngine"
@ -110,13 +113,25 @@ open class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePollable, So
/// The url for WebSockets.
public private(set) var urlWebSocket = URL(string: "http://localhost/")!
/// When `false`, the WebSocket `stream` will be configured with the useCustomEngine `false`.
public private(set) var useCustomEngine = true
/// The version of engine.io being used. Default is three.
public private(set) var version: SocketIOVersion = .three
/// If `true`, then the engine is currently in WebSockets mode.
@available(*, deprecated, message: "No longer needed, if we're not polling, then we must be doing websockets")
public private(set) var websocket = false
/// When `true`, the WebSocket `stream` will be configured with the enableSOCKSProxy `true`.
public private(set) var enableSOCKSProxy = false
/// The WebSocket for this engine.
public private(set) var ws: WebSocket?
/// Whether or not the WebSocket is currently connected.
public private(set) var wsConnected = false
/// The client for this engine.
public weak var client: SocketEngineClient?
@ -124,6 +139,7 @@ open class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePollable, So
private let url: URL
private var lastCommunication: Date?
private var pingInterval: Int?
private var pingTimeout = 0 {
didSet {
@ -135,7 +151,7 @@ open class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePollable, So
private var pongsMissedMax = 0
private var probeWait = ProbeWaitQueue()
private var secure = false
private var security: SocketIO.SSLSecurity?
private var certPinner: CertificatePinning?
private var selfSigned = false
// MARK: Initializers
@ -167,6 +183,7 @@ open class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePollable, So
self.init(client: client, url: url, config: options?.toSocketConfiguration() ?? [])
}
/// :nodoc:
deinit {
DefaultSocketLogger.Logger.log("Engine is being released", type: SocketEngine.logType)
closed = true
@ -193,8 +210,9 @@ open class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePollable, So
}
private func handleBase64(message: String) {
let offset = version.rawValue >= 3 ? 1 : 2
// binary in base64 string
let noPrefix = String(message[message.index(message.startIndex, offsetBy: 2)..<message.endIndex])
let noPrefix = String(message[message.index(message.startIndex, offsetBy: offset)..<message.endIndex])
if let data = Data(base64Encoded: noPrefix, options: .ignoreUnknownCharacters) {
client?.parseEngineBinaryData(data)
@ -223,7 +241,7 @@ open class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePollable, So
if connected {
DefaultSocketLogger.Logger.error("Engine tried opening while connected. Assuming this was a reconnect",
type: SocketEngine.logType)
disconnect(reason: "reconnect")
_disconnect(reason: "reconnect")
}
DefaultSocketLogger.Logger.log("Starting engine. Server: \(url)", type: SocketEngine.logType)
@ -275,49 +293,28 @@ open class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePollable, So
urlWebSocket.percentEncodedQuery = "transport=websocket" + queryString
urlPolling.percentEncodedQuery = "transport=polling&b64=1" + queryString
if !urlWebSocket.percentEncodedQuery!.contains("EIO") {
urlWebSocket.percentEncodedQuery = urlWebSocket.percentEncodedQuery! + engineIOParam
}
if !urlPolling.percentEncodedQuery!.contains("EIO") {
urlPolling.percentEncodedQuery = urlPolling.percentEncodedQuery! + engineIOParam
}
return (urlPolling.url!, urlWebSocket.url!)
}
private func createWebSocketAndConnect() {
var req = URLRequest(url: urlWebSocketWithSid)
addHeaders(to: &req, includingCookies: session?.configuration.httpCookieStorage?.cookies(for: urlPollingWithSid))
addHeaders(
to: &req,
includingCookies: session?.configuration.httpCookieStorage?.cookies(for: urlPollingWithSid)
)
ws = WebSocket(request: req)
ws = WebSocket(request: req, certPinner: certPinner, compressionHandler: compress ? WSCompression() : nil, useCustomEngine: useCustomEngine)
ws?.callbackQueue = engineQueue
ws?.enableCompression = compress
ws?.disableSSLCertValidation = selfSigned
ws?.security = security?.security
ws?.onConnect = {[weak self] in
guard let this = self else { return }
this.websocketDidConnect()
}
ws?.onDisconnect = {[weak self] error in
guard let this = self else { return }
this.websocketDidDisconnect(error: error)
}
ws?.onData = {[weak self] data in
guard let this = self else { return }
this.parseEngineData(data)
}
ws?.onText = {[weak self] message in
guard let this = self else { return }
this.parseEngineMessage(message)
}
ws?.onHttpResponseHeaders = {[weak self] headers in
guard let this = self else { return }
this.client?.engineDidWebsocketUpgrade(headers: headers)
}
ws?.delegate = self
ws?.connect()
}
@ -456,7 +453,11 @@ open class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePollable, So
createWebSocketAndConnect()
}
sendPing()
if version.rawValue >= 3 {
checkPings()
} else {
sendPing()
}
if !forceWebsockets {
doPoll()
@ -479,28 +480,55 @@ open class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePollable, So
client?.engineDidReceivePong()
}
private func handlePing(with message: String) {
if version.rawValue >= 3 {
write("", withType: .pong, withData: [])
}
client?.engineDidReceivePing()
}
private func checkPings() {
let pingInterval = self.pingInterval ?? 25_000
let deadlineMs = Double(pingInterval + pingTimeout) / 1000
let timeoutDeadline = DispatchTime.now() + .milliseconds(pingInterval + pingTimeout)
engineQueue.asyncAfter(deadline: timeoutDeadline) {[weak self, id = self.sid] in
// Make sure not to ping old connections
guard let this = self, this.sid == id else { return }
if abs(this.lastCommunication?.timeIntervalSinceNow ?? deadlineMs) >= deadlineMs {
this.closeOutEngine(reason: "Ping timeout")
} else {
this.checkPings()
}
}
}
/// Parses raw binary received from engine.io.
///
/// - parameter data: The data to parse.
open func parseEngineData(_ data: Data) {
DefaultSocketLogger.Logger.log("Got binary data: \(data)", type: SocketEngine.logType)
client?.parseEngineBinaryData(data.subdata(in: 1..<data.endIndex))
lastCommunication = Date()
client?.parseEngineBinaryData(version.rawValue >= 3 ? data : data.subdata(in: 1..<data.endIndex))
}
/// Parses a raw engine.io packet.
///
/// - parameter message: The message to parse.
open func parseEngineMessage(_ message: String) {
lastCommunication = Date()
DefaultSocketLogger.Logger.log("Got message: \(message)", type: SocketEngine.logType)
let reader = SocketStringReader(message: message)
if message.hasPrefix("b4") {
if message.hasPrefix(version.rawValue >= 3 ? "b" : "b4") {
return handleBase64(message: message)
}
guard let type = SocketEnginePacketType(rawValue: Int(reader.currentCharacter) ?? -1) else {
guard let type = SocketEnginePacketType(rawValue: message.first?.wholeNumberValue ?? -1) else {
checkAndHandleEngineError(message)
return
@ -511,6 +539,8 @@ open class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePollable, So
handleMessage(String(message.dropFirst()))
case .noop:
handleNOOP()
case .ping:
handlePing(with: message)
case .pong:
handlePong(with: message)
case .open:
@ -540,7 +570,9 @@ open class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePollable, So
}
private func sendPing() {
guard connected, let pingInterval = pingInterval else { return }
guard connected, let pingInterval = pingInterval else {
return
}
// Server is not responding
if pongsMissed > pongsMissedMax {
@ -553,7 +585,9 @@ open class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePollable, So
engineQueue.asyncAfter(deadline: .now() + .milliseconds(pingInterval)) {[weak self, id = self.sid] in
// Make sure not to ping old connections
guard let this = self, this.sid == id else { return }
guard let this = self, this.sid == id else {
return
}
this.sendPing()
}
@ -589,10 +623,16 @@ open class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePollable, So
self.secure = secure
case let .selfSigned(selfSigned):
self.selfSigned = selfSigned
case let .security(security):
self.security = security
case let .security(pinner):
self.certPinner = pinner
case .compress:
self.compress = true
case .enableSOCKSProxy:
self.enableSOCKSProxy = true
case let .useCustomEngine(enable):
self.useCustomEngine = enable
case let .version(num):
version = num
default:
continue
}
@ -601,7 +641,7 @@ open class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePollable, So
// Moves from long-polling to websockets
private func upgradeTransport() {
if ws?.isConnected ?? false {
if wsConnected {
DefaultSocketLogger.Logger.log("Upgrading transport to WebSockets", type: SocketEngine.logType)
fastUpgrade = true
@ -622,6 +662,7 @@ open class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePollable, So
completion?()
return
}
guard !self.probing else {
self.probeWait.append((msg, type, data, completion))
@ -697,3 +738,41 @@ extension SocketEngine {
didError(reason: "Engine URLSession became invalid")
}
}
enum EngineError: Error {
case canceled
}
extension SocketEngine {
/// Delegate method for WebSocketDelegate.
///
/// - Parameters:
/// - event: WS Event
/// - _:
public func didReceive(event: Starscream.WebSocketEvent, client: Starscream.WebSocketClient) {
switch event {
case let .connected(headers):
wsConnected = true
self.client?.engineDidWebsocketUpgrade(headers: headers)
websocketDidConnect()
case .cancelled:
wsConnected = false
websocketDidDisconnect(error: EngineError.canceled)
case .disconnected(_, _):
wsConnected = false
websocketDidDisconnect(error: nil)
case .viabilityChanged(false):
wsConnected = false
websocketDidDisconnect(error: nil)
case .peerClosed:
wsConnected = false
websocketDidDisconnect(error: nil)
case let .text(msg):
parseEngineMessage(msg)
case let .binary(data):
parseEngineData(data)
case _:
break
}
}
}

View File

@ -44,12 +44,18 @@ import Foundation
/// - parameter reason: The reason the engine opened.
func engineDidOpen(reason: String)
/// Called when the engine receives a pong message.
/// Called when the engine receives a ping message. Only called in socket.io >3.
func engineDidReceivePing()
/// Called when the engine receives a pong message. Only called in socket.io 2.
func engineDidReceivePong()
/// Called when the engine sends a ping to the server.
/// Called when the engine sends a ping to the server. Only called in socket.io 2.
func engineDidSendPing()
/// Called when the engine sends a pong to the server. Only called in socket.io >3.
func engineDidSendPong()
/// Called when the engine has a message that must be parsed.
///
/// - parameter msg: The message that needs parsing.

View File

@ -26,7 +26,7 @@
import Foundation
/// Represents the type of engine.io packet types.
@objc public enum SocketEnginePacketType : Int {
@objc public enum SocketEnginePacketType: Int {
/// Open message.
case open

View File

@ -25,7 +25,7 @@
import Foundation
/// Protocol that is used to implement socket.io polling support
public protocol SocketEnginePollable : SocketEngineSpec {
public protocol SocketEnginePollable: SocketEngineSpec {
// MARK: Properties
/// `true` If engine's session has been invalidated.
@ -81,8 +81,12 @@ extension SocketEnginePollable {
var postStr = ""
for packet in postWait {
postStr += "\(packet.msg.utf16.count):\(packet.msg)"
if version.rawValue >= 3 {
postStr = postWait.lazy.map({ $0.msg }).joined(separator: "\u{1e}")
} else {
for packet in postWait {
postStr += "\(packet.msg.utf16.count):\(packet.msg)"
}
}
DefaultSocketLogger.Logger.log("Created POST string: \(postStr)", type: "SocketEnginePolling")
@ -195,18 +199,32 @@ extension SocketEnginePollable {
}
func parsePollingMessage(_ str: String) {
guard str.count != 1 else { return }
guard !str.isEmpty else { return }
DefaultSocketLogger.Logger.log("Got poll message: \(str)", type: "SocketEnginePolling")
var reader = SocketStringReader(message: str)
if version.rawValue >= 3 {
let records = str.components(separatedBy: "\u{1e}")
while reader.hasNext {
if let n = Int(reader.readUntilOccurence(of: ":")) {
parseEngineMessage(reader.read(count: n))
} else {
for record in records {
parseEngineMessage(record)
}
} else {
guard str.count != 1 else {
parseEngineMessage(str)
break
return
}
var reader = SocketStringReader(message: str)
while reader.hasNext {
if let n = Int(reader.readUntilOccurence(of: ":")) {
parseEngineMessage(reader.read(count: n))
} else {
parseEngineMessage(str)
break
}
}
}
}

View File

@ -27,7 +27,7 @@ import Foundation
import Starscream
/// Specifies a SocketEngine.
@objc public protocol SocketEngineSpec {
public protocol SocketEngineSpec: AnyObject {
// MARK: Properties
/// The client for this engine.
@ -81,6 +81,9 @@ import Starscream
/// The url for WebSockets.
var urlWebSocket: URL { get }
/// The version of engine.io being used. Default is three.
var version: SocketIOVersion { get }
/// If `true`, then the engine is currently in WebSockets mode.
@available(*, deprecated, message: "No longer needed, if we're not polling, then we must be doing websockets")
var websocket: Bool { get }
@ -142,10 +145,23 @@ import Starscream
}
extension SocketEngineSpec {
var engineIOParam: String {
switch version {
case .two:
return "&EIO=3"
case .three:
return "&EIO=4"
}
}
var urlPollingWithSid: URL {
var com = URLComponents(url: urlPolling, resolvingAgainstBaseURL: false)!
com.percentEncodedQuery = com.percentEncodedQuery! + "&sid=\(sid.urlEncode()!)"
if !com.percentEncodedQuery!.contains("EIO") {
com.percentEncodedQuery = com.percentEncodedQuery! + engineIOParam
}
return com.url!
}
@ -153,6 +169,11 @@ extension SocketEngineSpec {
var com = URLComponents(url: urlWebSocket, resolvingAgainstBaseURL: false)!
com.percentEncodedQuery = com.percentEncodedQuery! + (sid == "" ? "" : "&sid=\(sid.urlEncode()!)")
if !com.percentEncodedQuery!.contains("EIO") {
com.percentEncodedQuery = com.percentEncodedQuery! + engineIOParam
}
return com.url!
}
@ -172,10 +193,12 @@ extension SocketEngineSpec {
}
func createBinaryDataForSend(using data: Data) -> Either<Data, String> {
let prefixB64 = version.rawValue >= 3 ? "b" : "b4"
if polling {
return .right("b4" + data.base64EncodedString(options: Data.Base64EncodingOptions(rawValue: 0)))
return .right(prefixB64 + data.base64EncodedString(options: Data.Base64EncodingOptions(rawValue: 0)))
} else {
return .left(Data([0x4]) + data)
return .left(version.rawValue >= 3 ? data : Data([0x4]) + data)
}
}

View File

@ -27,7 +27,12 @@ import Foundation
import Starscream
/// Protocol that is used to implement socket.io WebSocket support
public protocol SocketEngineWebsocket : SocketEngineSpec {
public protocol SocketEngineWebsocket: SocketEngineSpec {
// MARK: Properties
/// Whether or not the ws is connected
var wsConnected: Bool { get }
// MARK: Methods
/// Sends an engine.io message through the WebSocket transport.
@ -47,7 +52,7 @@ public protocol SocketEngineWebsocket : SocketEngineSpec {
// WebSocket methods
extension SocketEngineWebsocket {
func probeWebSocket() {
if ws?.isConnected ?? false {
if wsConnected {
sendWebSocketMessage("probe", withType: .ping, withData: [], completion: nil)
}
}
@ -62,17 +67,21 @@ extension SocketEngineWebsocket {
/// - parameter completion: Callback called on transport write completion.
public func sendWebSocketMessage(_ str: String,
withType type: SocketEnginePacketType,
withData datas: [Data],
withData data: [Data],
completion: (() -> ())?
) {
DefaultSocketLogger.Logger.log("Sending ws: \(str) as type: \(type.rawValue)", type: "SocketEngineWebSocket")
ws?.write(string: "\(type.rawValue)\(str)")
for data in datas {
if case let .left(bin) = createBinaryDataForSend(using: data) {
for item in data {
if case let .left(bin) = createBinaryDataForSend(using: item) {
ws?.write(data: bin, completion: completion)
}
}
if data.count == 0 {
completion?()
}
}
}

View File

@ -45,7 +45,7 @@ import Foundation
///
/// **NOTE**: The manager is not thread/queue safe, all interaction with the manager should be done on the `handleQueue`
///
open class SocketManager : NSObject, SocketManagerSpec, SocketParsable, SocketDataBufferable, ConfigSettable {
open class SocketManager: NSObject, SocketManagerSpec, SocketParsable, SocketDataBufferable, ConfigSettable {
private static let logType = "SocketManager"
// MARK: Properties
@ -119,6 +119,8 @@ open class SocketManager : NSObject, SocketManagerSpec, SocketParsable, SocketDa
}
}
public private(set) var version = SocketIOVersion.three
/// A list of packets that are waiting for binary data.
///
/// The way that socket.io works all data should be sent directly after each packet.
@ -130,7 +132,7 @@ open class SocketManager : NSObject, SocketManagerSpec, SocketParsable, SocketDa
private(set) var reconnectAttempts = -1
private var _config: SocketIOClientConfiguration
private var currentReconnectAttempt = 0
internal var currentReconnectAttempt = 0
private var reconnecting = false
// MARK: Initializers
@ -158,6 +160,7 @@ open class SocketManager : NSObject, SocketManagerSpec, SocketParsable, SocketDa
self.init(socketURL: socketURL, config: config?.toSocketConfiguration() ?? [])
}
/// :nodoc:
deinit {
DefaultSocketLogger.Logger.log("Manager is being released", type: SocketManager.logType)
@ -183,9 +186,8 @@ open class SocketManager : NSObject, SocketManagerSpec, SocketParsable, SocketDa
///
/// Override if you wish to attach a custom `SocketEngineSpec`.
open func connect() {
guard !status.active else {
if status == .connected || (status == .connecting && currentReconnectAttempt == 0) {
DefaultSocketLogger.Logger.log("Tried connecting an already active socket", type: SocketManager.logType)
return
}
@ -201,7 +203,8 @@ open class SocketManager : NSObject, SocketManagerSpec, SocketParsable, SocketDa
/// Connects a socket through this manager's engine.
///
/// - parameter socket: The socket who we should connect through this manager.
open func connectSocket(_ socket: SocketIOClient) {
/// - parameter withPayload: Optional payload to send on connect
open func connectSocket(_ socket: SocketIOClient, withPayload payload: [String: Any]? = nil) {
guard status == .connected else {
DefaultSocketLogger.Logger.log("Tried connecting socket when engine isn't open. Connecting",
type: SocketManager.logType)
@ -210,7 +213,15 @@ open class SocketManager : NSObject, SocketManagerSpec, SocketParsable, SocketDa
return
}
engine?.send("0\(socket.nsp),", withData: [])
var payloadStr = ""
if version.rawValue >= 3 && payload != nil,
let payloadData = try? JSONSerialization.data(withJSONObject: payload!, options: .fragmentsAllowed),
let jsonString = String(data: payloadData, encoding: .utf8) {
payloadStr = jsonString
}
engine?.send("0\(socket.nsp),\(payloadStr)", withData: [])
}
/// Called when the manager has disconnected from socket.io.
@ -281,18 +292,8 @@ open class SocketManager : NSObject, SocketManagerSpec, SocketParsable, SocketDa
return
}
emitAll(event, withItems: emitData)
}
/// Sends an event to the server on all namespaces in this manager.
///
/// Same as `emitAll(_:_:)`, but meant for Objective-C.
///
/// - parameter event: The event to send.
/// - parameter items: The data to send with this event.
open func emitAll(_ event: String, withItems items: [Any]) {
forAll {socket in
socket.emit(event, with: items, completion: nil)
socket.emit([event] + emitData)
}
}
@ -348,11 +349,40 @@ open class SocketManager : NSObject, SocketManagerSpec, SocketParsable, SocketDa
DefaultSocketLogger.Logger.log("Engine opened \(reason)", type: SocketManager.logType)
status = .connected
nsps["/"]?.didConnect(toNamespace: "/")
for (nsp, socket) in nsps where nsp != "/" && socket.status == .connecting {
connectSocket(socket)
if version.rawValue < 3 {
nsps["/"]?.didConnect(toNamespace: "/", payload: nil)
}
for (nsp, socket) in nsps where socket.status == .connecting {
if version.rawValue < 3 && nsp == "/" {
continue
}
connectSocket(socket, withPayload: socket.connectPayload)
}
}
/// Called when the engine receives a ping message.
open func engineDidReceivePing() {
handleQueue.async {
self._engineDidReceivePing()
}
}
private func _engineDidReceivePing() {
emitAll(clientEvent: .ping, data: [])
}
/// Called when the sends a ping to the server.
open func engineDidSendPing() {
handleQueue.async {
self._engineDidSendPing()
}
}
private func _engineDidSendPing() {
emitAll(clientEvent: .ping, data: [])
}
/// Called when the engine receives a pong message.
@ -366,15 +396,15 @@ open class SocketManager : NSObject, SocketManagerSpec, SocketParsable, SocketDa
emitAll(clientEvent: .pong, data: [])
}
/// Called when the sends a ping to the server.
open func engineDidSendPing() {
/// Called when the sends a pong to the server.
open func engineDidSendPong() {
handleQueue.async {
self._engineDidSendPing()
self._engineDidSendPong()
}
}
private func _engineDidSendPing() {
emitAll(clientEvent: .ping, data: [])
private func _engineDidSendPong() {
emitAll(clientEvent: .pong, data: [])
}
private func forAll(do: (SocketIOClient) throws -> ()) rethrows {
@ -475,14 +505,19 @@ open class SocketManager : NSObject, SocketManagerSpec, SocketParsable, SocketDa
}
DefaultSocketLogger.Logger.log("Trying to reconnect", type: SocketManager.logType)
emitAll(clientEvent: .reconnectAttempt, data: [(reconnectAttempts - currentReconnectAttempt)])
forAll {socket in
guard socket.status == .connecting else { return }
socket.handleClientEvent(.reconnectAttempt, data: [(reconnectAttempts - currentReconnectAttempt)])
}
currentReconnectAttempt += 1
connect()
let interval = reconnectInterval(attempts: currentReconnectAttempt)
DefaultSocketLogger.Logger.log("Scheduling reconnect in \(interval)s", type: SocketManager.logType)
handleQueue.asyncAfter(deadline: DispatchTime.now() + interval, execute: _tryReconnect)
handleQueue.asyncAfter(deadline: .now() + interval, execute: _tryReconnect)
}
func reconnectInterval(attempts: Int) -> Double {
@ -504,13 +539,13 @@ open class SocketManager : NSObject, SocketManagerSpec, SocketParsable, SocketDa
for option in config {
switch option {
case let .forceNew(new):
self.forceNew = new
forceNew = new
case let .handleQueue(queue):
self.handleQueue = queue
handleQueue = queue
case let .reconnects(reconnects):
self.reconnects = reconnects
case let .reconnectAttempts(attempts):
self.reconnectAttempts = attempts
reconnectAttempts = attempts
case let .reconnectWait(wait):
reconnectWait = abs(wait)
case let .reconnectWaitMax(wait):
@ -521,6 +556,8 @@ open class SocketManager : NSObject, SocketManagerSpec, SocketParsable, SocketDa
DefaultSocketLogger.Logger.log = log
case let .logger(logger):
DefaultSocketLogger.Logger = logger
case let .version(num):
version = num
case _:
continue
}

View File

@ -45,8 +45,7 @@ import Foundation
/// To disconnect a socket and remove it from the manager, either call `SocketIOClient.disconnect()` on the socket,
/// or call one of the `disconnectSocket` methods on this class.
///
@objc
public protocol SocketManagerSpec : AnyObject, SocketEngineClient {
public protocol SocketManagerSpec : SocketEngineClient {
// MARK: Properties
/// Returns the socket associated with the default namespace ("/").
@ -71,7 +70,7 @@ public protocol SocketManagerSpec : AnyObject, SocketEngineClient {
/// The minimum number of seconds to wait before attempting to reconnect.
var reconnectWait: Int { get set }
/// The maximum number of seconds to wait before attempting to reconnect.
var reconnectWaitMax: Int { get set }
@ -84,6 +83,9 @@ public protocol SocketManagerSpec : AnyObject, SocketEngineClient {
/// The status of this manager.
var status: SocketIOStatus { get }
/// The version of socket.io in use.
var version: SocketIOVersion { get }
// MARK: Methods
/// Connects the underlying transport.
@ -92,7 +94,8 @@ public protocol SocketManagerSpec : AnyObject, SocketEngineClient {
/// Connects a socket through this manager's engine.
///
/// - parameter socket: The socket who we should connect through this manager.
func connectSocket(_ socket: SocketIOClient)
/// - parameter withPayload: Optional payload to send on connect
func connectSocket(_ socket: SocketIOClient, withPayload: [String: Any]?)
/// Called when the manager has disconnected from socket.io.
///
@ -116,7 +119,7 @@ public protocol SocketManagerSpec : AnyObject, SocketEngineClient {
///
/// - parameter event: The event to send.
/// - parameter items: The data to send with this event.
func emitAll(_ event: String, withItems items: [Any])
func emitAll(_ event: String, _ items: SocketData...)
/// Tries to reconnect to the server.
///

View File

@ -118,7 +118,7 @@ public extension SocketParsable where Self: SocketManagerSpec & SocketDataBuffer
var dataArray = String(message.utf16[message.utf16.index(reader.currentIndex, offsetBy: 1)...])!
if type == .error && !dataArray.hasPrefix("[") && !dataArray.hasSuffix("]") {
if (type == .error || type == .connect) && !dataArray.hasPrefix("[") && !dataArray.hasSuffix("]") {
dataArray = "[" + dataArray + "]"
}

View File

@ -1,72 +0,0 @@
//
// SSLSecurity.swift
// SocketIO-iOS
//
// Created by Lukas Schmidt on 24.09.17.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
import Foundation
import Starscream
/// A wrapper around Starscream's SSLSecurity that provides a minimal Objective-C interface.
open class SSLSecurity : NSObject {
// MARK: Properties
/// The internal Starscream SSLSecurity.
public let security: Starscream.SSLSecurity
init(security: Starscream.SSLSecurity) {
self.security = security
}
// MARK: Methods
/// Creates a new SSLSecurity that specifies whether to use publicKeys or certificates should be used for SSL
/// pinning validation
///
/// - parameter usePublicKeys: is to specific if the publicKeys or certificates should be used for SSL pinning
/// validation
@objc
public convenience init(usePublicKeys: Bool = true) {
let security = Starscream.SSLSecurity(usePublicKeys: usePublicKeys)
self.init(security: security)
}
/// Designated init
///
/// - parameter certs: is the certificates or public keys to use
/// - parameter usePublicKeys: is to specific if the publicKeys or certificates should be used for SSL pinning
/// validation
/// - returns: a representation security object to be used with
public convenience init(certs: [SSLCert], usePublicKeys: Bool) {
let security = Starscream.SSLSecurity(certs: certs, usePublicKeys: usePublicKeys)
self.init(security: security)
}
/// Returns whether or not the given trust is valid.
///
/// - parameter trust: The trust to validate.
/// - parameter domain: The CN domain to validate.
/// - returns: Whether or not this is valid.
public func isValid(_ trust: SecTrust, domain: String?) -> Bool {
return security.isValid(trust, domain: domain)
}
}

View File

@ -38,7 +38,7 @@ extension Array {
extension CharacterSet {
static var allowedURLCharacterSet: CharacterSet {
return CharacterSet(charactersIn: "!*'();:@&=+$,/?%#[]\" {}^").inverted
return CharacterSet(charactersIn: "!*'();:@&=+$,/?%#[]\" {}^|").inverted
}
}
@ -77,7 +77,7 @@ extension Dictionary where Key == String, Value == Any {
return .randomizationFactor(factor)
case let ("secure", secure as Bool):
return .secure(secure)
case let ("security", security as SSLSecurity):
case let ("security", security as CertificatePinning):
return .security(security)
case let ("selfSigned", selfSigned as Bool):
return .selfSigned(selfSigned)
@ -85,7 +85,11 @@ extension Dictionary where Key == String, Value == Any {
return .sessionDelegate(delegate)
case let ("compress", compress as Bool):
return compress ? .compress : nil
default:
case let ("enableSOCKSProxy", enable as Bool):
return .enableSOCKSProxy(enable)
case let ("version", version as Int):
return .version(SocketIOVersion(rawValue: version) ?? .three)
case _:
return nil
}
}

View File

@ -28,7 +28,6 @@ class SocketAckManagerTest : XCTestCase {
func testManagerTimeoutAck() {
let callbackExpection = expectation(description: "Manager should timeout ack with noAck status")
let itemsArray = ["Hi", "ho"]
func callback(_ items: [Any]) {
XCTAssertEqual(items.count, 1, "Timed out ack should have one value")
@ -38,7 +37,7 @@ class SocketAckManagerTest : XCTestCase {
return
}
XCTAssertEqual(timeoutReason, SocketAckStatus.noAck.rawValue)
XCTAssert(timeoutReason == SocketAckStatus.noAck)
callbackExpection.fulfill()
}

View File

@ -10,13 +10,26 @@ import XCTest
@testable import SocketIO
class SocketEngineTest: XCTestCase {
func testBasicPollingMessageV3() {
let expect = expectation(description: "Basic polling test v3")
socket.on("blankTest") {data, ack in
expect.fulfill()
}
engine.setConfigs([.version(.two)])
engine.parsePollingMessage("15:42[\"blankTest\"]")
waitForExpectations(timeout: 3, handler: nil)
}
func testBasicPollingMessage() {
let expect = expectation(description: "Basic polling test")
socket.on("blankTest") {data, ack in
expect.fulfill()
}
engine.parsePollingMessage("15:42[\"blankTest\"]")
engine.parsePollingMessage("42[\"blankTest\"]")
waitForExpectations(timeout: 3, handler: nil)
}
@ -36,7 +49,7 @@ class SocketEngineTest: XCTestCase {
}
}
engine.parsePollingMessage("15:42[\"blankTest\"]24:42[\"stringTest\",\"hello\"]")
engine.parsePollingMessage("42[\"blankTest\"]\u{1e}42[\"stringTest\",\"hello\"]")
waitForExpectations(timeout: 3, handler: nil)
}
@ -74,7 +87,7 @@ class SocketEngineTest: XCTestCase {
let stringMessage = "42[\"stringTest\",\"lïne one\\nlīne \\rtwo𦅙𦅛\"]"
engine.parsePollingMessage("\(stringMessage.utf16.count):\(stringMessage)")
engine.parsePollingMessage("\(stringMessage)")
waitForExpectations(timeout: 3, handler: nil)
}
@ -83,20 +96,20 @@ class SocketEngineTest: XCTestCase {
"created": "2016-05-04T18:31:15+0200"
]
XCTAssertEqual(engine.urlPolling.query, "transport=polling&b64=1&created=2016-05-04T18%3A31%3A15%2B0200")
XCTAssertEqual(engine.urlWebSocket.query, "transport=websocket&created=2016-05-04T18%3A31%3A15%2B0200")
XCTAssertEqual(engine.urlPolling.query, "transport=polling&b64=1&created=2016-05-04T18%3A31%3A15%2B0200&EIO=4")
XCTAssertEqual(engine.urlWebSocket.query, "transport=websocket&created=2016-05-04T18%3A31%3A15%2B0200&EIO=4")
engine.connectParams = [
"forbidden": "!*'();:@&=+$,/?%#[]\" {}^"
"forbidden": "!*'();:@&=+$,/?%#[]\" {}^|"
]
XCTAssertEqual(engine.urlPolling.query, "transport=polling&b64=1&forbidden=%21%2A%27%28%29%3B%3A%40%26%3D%2B%24%2C%2F%3F%25%23%5B%5D%22%20%7B%7D%5E")
XCTAssertEqual(engine.urlWebSocket.query, "transport=websocket&forbidden=%21%2A%27%28%29%3B%3A%40%26%3D%2B%24%2C%2F%3F%25%23%5B%5D%22%20%7B%7D%5E")
XCTAssertEqual(engine.urlPolling.query, "transport=polling&b64=1&forbidden=%21%2A%27%28%29%3B%3A%40%26%3D%2B%24%2C%2F%3F%25%23%5B%5D%22%20%7B%7D%5E%7C&EIO=4")
XCTAssertEqual(engine.urlWebSocket.query, "transport=websocket&forbidden=%21%2A%27%28%29%3B%3A%40%26%3D%2B%24%2C%2F%3F%25%23%5B%5D%22%20%7B%7D%5E%7C&EIO=4")
}
func testBase64Data() {
let expect = expectation(description: "Engine Decodes base64 data")
let b64String = "b4aGVsbG8NCg=="
let b64String = "baGVsbG8NCg=="
let packetString = "451-[\"test\",{\"test\":{\"_placeholder\":true,\"num\":0}}]"
socket.on("test") {data, ack in

View File

@ -29,7 +29,7 @@ class SocketMangerTest : XCTestCase {
XCTAssertEqual(manager.config.first!, .secure(true))
}
func testBackoffIntervalCalulation() {
XCTAssertLessThanOrEqual(manager.reconnectInterval(attempts: -1), Double(manager.reconnectWaitMax))
XCTAssertLessThanOrEqual(manager.reconnectInterval(attempts: 0), 15)
@ -37,7 +37,7 @@ class SocketMangerTest : XCTestCase {
XCTAssertLessThanOrEqual(manager.reconnectInterval(attempts: 2), 33.75)
XCTAssertLessThanOrEqual(manager.reconnectInterval(attempts: 50), Double(manager.reconnectWaitMax))
XCTAssertLessThanOrEqual(manager.reconnectInterval(attempts: 10000), Double(manager.reconnectWaitMax))
XCTAssertGreaterThanOrEqual(manager.reconnectInterval(attempts: -1), Double(manager.reconnectWait))
XCTAssertGreaterThanOrEqual(manager.reconnectInterval(attempts: 0), Double(manager.reconnectWait))
XCTAssertGreaterThanOrEqual(manager.reconnectInterval(attempts: 1), 15)
@ -60,6 +60,44 @@ class SocketMangerTest : XCTestCase {
waitForExpectations(timeout: 0.3)
}
func testManagerDoesNotCallConnectWhenConnectingWithLessThanOneReconnect() {
setUpSockets()
let expect = expectation(description: "The manager should not call connect on the engine")
expect.isInverted = true
let engine = TestEngine(client: manager, url: manager.socketURL, options: nil)
engine.onConnect = {
expect.fulfill()
}
manager.setTestStatus(.connecting)
manager.setCurrentReconnect(currentReconnect: 0)
manager.engine = engine
manager.connect()
waitForExpectations(timeout: 0.3)
}
func testManagerCallConnectWhenConnectingAndMoreThanOneReconnect() {
setUpSockets()
let expect = expectation(description: "The manager should call connect on the engine")
let engine = TestEngine(client: manager, url: manager.socketURL, options: nil)
engine.onConnect = {
expect.fulfill()
}
manager.setTestStatus(.connecting)
manager.setCurrentReconnect(currentReconnect: 1)
manager.engine = engine
manager.connect()
waitForExpectations(timeout: 0.8)
}
func testManagerCallsDisconnect() {
setUpSockets()
@ -80,24 +118,24 @@ class SocketMangerTest : XCTestCase {
waitForExpectations(timeout: 0.3)
}
func testManagerEmitAll() {
setUpSockets()
socket.expectations[ManagerExpectation.emitAllEventCalled] = expectation(description: "The manager should emit an event to the default socket")
socket2.expectations[ManagerExpectation.emitAllEventCalled] = expectation(description: "The manager should emit an event to the socket")
socket2.on(clientEvent: .connect) {data, ack in
self.manager.emitAll("event", "testing")
}
socket.connect()
socket2.connect()
manager.fakeConnecting()
manager.fakeConnecting(toNamespace: "/swift")
waitForExpectations(timeout: 0.3)
}
// func testManagerEmitAll() {
// setUpSockets()
//
// socket.expectations[ManagerExpectation.emitAllEventCalled] = expectation(description: "The manager should emit an event to the default socket")
// socket2.expectations[ManagerExpectation.emitAllEventCalled] = expectation(description: "The manager should emit an event to the socket")
//
// socket2.on(clientEvent: .connect) {data, ack in
// print("connect")
// self.manager.emitAll("event", "testing")
// }
//
// socket.connect()
// socket2.connect()
//
// manager.fakeConnecting(toNamespace: "/swift")
//
// waitForExpectations(timeout: 0.3)
// }
func testManagerSetsConfigs() {
let queue = DispatchQueue(label: "testQueue")
@ -147,38 +185,34 @@ class SocketMangerTest : XCTestCase {
}
}
public enum ManagerExpectation : String {
public enum ManagerExpectation: String {
case didConnectCalled
case didDisconnectCalled
case emitAllEventCalled
}
public class TestManager : SocketManager {
public class TestManager: SocketManager {
public func setCurrentReconnect(currentReconnect: Int) {
self.currentReconnectAttempt = currentReconnect
}
public override func disconnect() {
setTestStatus(.disconnected)
}
@objc
public func testSocket(forNamespace nsp: String) -> TestSocket {
return socket(forNamespace: nsp) as! TestSocket
}
@objc
public func fakeConnecting(toNamespace nsp: String) {
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 0.1) {
// Fake connecting
self.parseEngineMessage("0\(nsp)")
}
}
@objc
public func fakeDisconnecting() {
engineDidClose(reason: "")
}
@objc
public func fakeConnecting() {
engineDidOpen(reason: "")
public func fakeConnecting(toNamespace nsp: String = "/") {
DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
// Fake connecting
self.parseEngineMessage("0\(nsp)")
}
}
public override func socket(forNamespace nsp: String) -> SocketIOClient {
@ -189,43 +223,25 @@ public class TestManager : SocketManager {
}
}
public class TestSocket : SocketIOClient {
public class TestSocket: SocketIOClient {
public var expectations = [ManagerExpectation: XCTestExpectation]()
@objc
public var expects = NSMutableDictionary()
public override func didConnect(toNamespace nsp: String) {
public override func didConnect(toNamespace nsp: String, payload: [String: Any]?) {
expectations[ManagerExpectation.didConnectCalled]?.fulfill()
expectations[ManagerExpectation.didConnectCalled] = nil
if let expect = expects[ManagerExpectation.didConnectCalled.rawValue] as? XCTestExpectation {
expect.fulfill()
expects[ManagerExpectation.didConnectCalled.rawValue] = nil
}
super.didConnect(toNamespace: nsp)
super.didConnect(toNamespace: nsp, payload: payload)
}
public override func didDisconnect(reason: String) {
expectations[ManagerExpectation.didDisconnectCalled]?.fulfill()
expectations[ManagerExpectation.didDisconnectCalled] = nil
if let expect = expects[ManagerExpectation.didDisconnectCalled.rawValue] as? XCTestExpectation {
expect.fulfill()
expects[ManagerExpectation.didDisconnectCalled.rawValue] = nil
}
super.didDisconnect(reason: reason)
}
public override func emit(_ event: String, with items: [Any], completion: (() -> ())?) {
public override func emit(_ event: String, _ items: SocketData..., completion: (() -> ())? = nil) {
expectations[ManagerExpectation.emitAllEventCalled]?.fulfill()
expectations[ManagerExpectation.emitAllEventCalled] = nil
if let expect = expects[ManagerExpectation.emitAllEventCalled.rawValue] as? XCTestExpectation {
expect.fulfill()
expects[ManagerExpectation.emitAllEventCalled.rawValue] = nil
}
}
}

View File

@ -268,22 +268,6 @@ class SocketSideEffectTest: XCTestCase {
waitForExpectations(timeout: 0.8)
}
func testConnectCallsConnectEventImmediatelyIfManagerAlreadyConnected() {
let expect = expectation(description: "The client should call the connect handler")
socket = manager.defaultSocket
socket.setTestStatus(.notConnected)
manager.setTestStatus(.connected)
socket.on(clientEvent: .connect) {data, ack in
expect.fulfill()
}
socket.connect(timeoutAfter: 0.3, withHandler: nil)
waitForExpectations(timeout: 0.8)
}
func testConnectDoesNotTimeOutIfConnected() {
let expect = expectation(description: "The client should not call the timeout function")
@ -308,9 +292,14 @@ class SocketSideEffectTest: XCTestCase {
func testClientCallsConnectOnEngineOpen() {
let expect = expectation(description: "The client call the connect handler")
let eng = TestEngine(client: manager, url: manager.socketURL, options: nil)
eng.onConnect = {
self.socket.didConnect(toNamespace: self.socket.nsp, payload: nil)
}
manager.engine = eng
socket.setTestStatus(.notConnected)
manager.engine = TestEngine(client: manager, url: manager.socketURL, options: nil)
socket.on(clientEvent: .connect) {data, ack in
expect.fulfill()
@ -429,11 +418,11 @@ class SocketSideEffectTest: XCTestCase {
func testClientCallsSentPingHandler() {
let expect = expectation(description: "The client should emit a ping event")
socket.on(clientEvent: .ping) {data, ack in
socket.on(clientEvent: .pong) {data, ack in
expect.fulfill()
}
manager.engineDidSendPing()
manager.engineDidSendPong()
waitForExpectations(timeout: 0.2)
}
@ -441,11 +430,11 @@ class SocketSideEffectTest: XCTestCase {
func testClientCallsGotPongHandler() {
let expect = expectation(description: "The client should emit a pong event")
socket.on(clientEvent: .pong) {data, ack in
socket.on(clientEvent: .ping) {data, ack in
expect.fulfill()
}
manager.engineDidReceivePong()
manager.engineDidReceivePing()
waitForExpectations(timeout: 0.2)
}
@ -465,7 +454,7 @@ class SocketSideEffectTest: XCTestCase {
}
}
struct ThrowingData : SocketData {
struct ThrowingData: SocketData {
enum ThrowingError : Error {
case error
}
@ -476,7 +465,7 @@ struct ThrowingData : SocketData {
}
class TestEngine : SocketEngineSpec {
class TestEngine: SocketEngineSpec {
weak var client: SocketEngineClient?
private(set) var closed = false
private(set) var compress = false
@ -496,13 +485,16 @@ class TestEngine : SocketEngineSpec {
private(set) var urlWebSocket = URL(string: "http://localhost/")!
private(set) var websocket = false
private(set) var ws: WebSocket? = nil
private(set) var version = SocketIOVersion.three
internal var onConnect: (() -> ())?
required init(client: SocketEngineClient, url: URL, options: [String: Any]?) {
self.client = client
}
func connect() {
client?.engineDidOpen(reason: "Connect")
onConnect?()
}
func didError(reason: String) { }

View File

@ -1,16 +0,0 @@
//
// Created by Erik Little on 10/21/17.
//
#import "SocketIO_Tests-Swift.h"
@import XCTest;
@import SocketIO;
@interface ManagerObjectiveCTest : XCTestCase
@property TestSocket* socket;
@property TestSocket* socket2;
@property TestManager* manager;
@end

View File

@ -1,141 +0,0 @@
//
// Created by Erik Little on 10/21/17.
//
#import "ManagerObjectiveCTest.h"
@import Dispatch;
@import Foundation;
@import XCTest;
@import SocketIO;
@implementation ManagerObjectiveCTest
- (void)testSettingConfig {
NSURL* url = [[NSURL alloc] initWithString:@"http://localhost"];
NSDictionary* headers = @{@"My Header": @"Some Value"};
self.manager = [[TestManager alloc] initWithSocketURL:url config:@{
@"forceNew": @YES,
@"extraHeaders": headers
}];
[self.manager connect];
XCTAssertTrue(self.manager.forceNew);
XCTAssertTrue([self.manager.engine.extraHeaders isEqualToDictionary:headers]);
}
- (void)testManagerProperties {
XCTAssertNotNil(self.manager.defaultSocket);
XCTAssertNil(self.manager.engine);
XCTAssertFalse(self.manager.forceNew);
XCTAssertEqual(self.manager.handleQueue, dispatch_get_main_queue());
XCTAssertTrue(self.manager.reconnects);
XCTAssertEqual(self.manager.reconnectWait, 10);
XCTAssertEqual(self.manager.reconnectWaitMax, 30);
XCTAssertEqual(self.manager.randomizationFactor, 0.5);
XCTAssertEqual(self.manager.status, SocketIOStatusNotConnected);
}
- (void)testConnectSocketSyntax {
[self setUpSockets];
[self.manager connectSocket:self.socket];
}
- (void)testDisconnectSocketSyntax {
[self setUpSockets];
[self.manager disconnectSocket:self.socket];
}
- (void)testSocketForNamespaceSyntax {
SocketIOClient* client = [self.manager socketForNamespace:@"/swift"];
client = nil;
}
- (void)testManagerCallsConnect {
[self setUpSockets];
XCTestExpectation* expect = [self expectationWithDescription:@"The manager should call connect on the default socket"];
XCTestExpectation* expect2 = [self expectationWithDescription:@"The manager should call connect on the socket"];
self.socket.expects[@"didConnectCalled"] = expect;
self.socket2.expects[@"didConnectCalled"] = expect2;
[self.socket connect];
[self.socket2 connect];
[self.manager fakeConnecting];
[self.manager fakeConnectingToNamespace:@"/swift"];
[self waitForExpectationsWithTimeout:0.3 handler:nil];
}
- (void)testManagerCallsDisconnect {
[self setUpSockets];
XCTestExpectation* expect = [self expectationWithDescription:@"The manager should call disconnect on the default socket"];
XCTestExpectation* expect2 = [self expectationWithDescription:@"The manager should call disconnect on the socket"];
self.socket.expects[@"didDisconnectCalled"] = expect;
self.socket2.expects[@"didDisconnectCalled"] = expect2;
[self.socket2 on:@"connect" callback:^(NSArray* data, SocketAckEmitter* ack) {
[self.manager disconnect];
[self.manager fakeDisconnecting];
}];
[self.socket connect];
[self.socket2 connect];
[self.manager fakeConnecting];
[self.manager fakeConnectingToNamespace:@"/swift"];
[self waitForExpectationsWithTimeout:0.3 handler:nil];
}
- (void)testManagerEmitAll {
[self setUpSockets];
XCTestExpectation* expect = [self expectationWithDescription:@"The manager should emit an event to the default socket"];
XCTestExpectation* expect2 = [self expectationWithDescription:@"The manager should emit an event to the socket"];
self.socket.expects[@"emitAllEventCalled"] = expect;
self.socket2.expects[@"emitAllEventCalled"] = expect2;
[self.socket2 on:@"connect" callback:^(NSArray* data, SocketAckEmitter* ack) {
[self.manager emitAll:@"event" withItems:@[@"testing"]];
}];
[self.socket connect];
[self.socket2 connect];
[self.manager fakeConnecting];
[self.manager fakeConnectingToNamespace:@"/swift"];
[self waitForExpectationsWithTimeout:0.3 handler:nil];
}
- (void)testMangerRemoveSocket {
[self setUpSockets];
[self.manager removeSocket:self.socket];
XCTAssertNil(self.manager.nsps[self.socket.nsp]);
}
- (void)setUpSockets {
self.socket = [self.manager testSocketForNamespace:@"/"];
self.socket2 = [self.manager testSocketForNamespace:@"/swift"];
}
- (void)setUp {
[super setUp];
NSURL* url = [[NSURL alloc] initWithString:@"http://localhost"];
self.manager = [[TestManager alloc] initWithSocketURL:url config:@{@"log": @NO}];
self.socket = nil;
self.socket2 = nil;
}
@end

View File

@ -1,16 +0,0 @@
//
// Created by Erik Little on 10/21/17.
//
@import Dispatch;
@import Foundation;
@import XCTest;
@import SocketIO;
@interface SocketObjectiveCTest : XCTestCase
@property SocketIOClient* socket;
@property SocketManager* manager;
@end

View File

@ -1,122 +0,0 @@
//
// SocketObjectiveCTest.m
// Socket.IO-Client-Swift
//
// Created by Erik Little on 3/25/16.
//
// Merely tests whether the Objective-C api breaks
//
#import "SocketIO_Tests-Swift.h"
#import "SocketObjectiveCTest.h"
@import Dispatch;
@import Foundation;
@import XCTest;
@import SocketIO;
// TODO Manager interface tests
@implementation SocketObjectiveCTest
- (void)testProperties {
XCTAssertTrue([self.socket.nsp isEqualToString:@"/"]);
XCTAssertEqual(self.socket.status, SocketIOStatusNotConnected);
}
- (void)testOnSyntax {
[self.socket on:@"someCallback" callback:^(NSArray* data, SocketAckEmitter* ack) {
[ack with:@[@1]];
[[ack rawEmitView] with:@[@"hello"]];
}];
}
- (void)testConnectSyntax {
[self.socket connect];
}
- (void)testConnectTimeoutAfterSyntax {
[self.socket connectWithTimeoutAfter:1 withHandler: ^() { }];
}
- (void)testDisconnectSyntax {
[self.socket disconnect];
}
- (void)testLeaveNamespaceSyntax {
[self.socket leaveNamespace];
}
- (void)testJoinNamespaceSyntax {
[self.socket joinNamespace];
}
- (void)testOnAnySyntax {
[self.socket onAny:^(SocketAnyEvent* any) {
NSString* event = any.event;
NSArray* data = any.items;
[self.socket emit:event with:data];
}];
}
- (void)testRemoveAllHandlersSyntax {
[self.socket removeAllHandlers];
}
- (void)testEmitSyntax {
[self.socket emit:@"testEmit" with:@[@YES]];
}
- (void)testEmitWriteCompletionSyntax {
[self.socket emit:@"testEmit" with:@[@YES] completion:^{}];
}
- (void)testEmitWriteCompletion {
XCTestExpectation* expect = [self expectationWithDescription:@"Write completion should be called"];
[self.socket emit:@"testEmit" with:@[@YES] completion:^{
[expect fulfill];
}];
[self waitForExpectationsWithTimeout:0.3 handler:nil];
}
- (void)testRawEmitSyntax {
[[self.socket rawEmitView] emit:@"myEvent" with:@[@1]];
}
- (void)testEmitWithAckSyntax {
[[self.socket emitWithAck:@"testAckEmit" with:@[@YES]] timingOutAfter:0 callback:^(NSArray* data) { }];
}
- (void)testOffSyntax {
[self.socket off:@"test"];
}
- (void)testSSLSecurity {
SSLSecurity* sec = [[SSLSecurity alloc] initWithUsePublicKeys:0];
sec = nil;
}
- (void)testStatusChangeHandler {
XCTestExpectation* expect = [self expectationWithDescription:@"statusChange should be correctly called"];
[self.socket on:@"statusChange" callback:^(NSArray* data, SocketAckEmitter* ack) {
XCTAssertTrue([data[1] integerValue] == SocketIOStatusConnecting);
[expect fulfill];
}];
[OBjcUtils setTestStatusWithSocket:self.socket status:SocketIOStatusConnecting];
[self waitForExpectationsWithTimeout:0.3 handler:nil];
}
- (void)setUp {
[super setUp];
NSURL* url = [[NSURL alloc] initWithString:@"http://localhost"];
self.manager = [[SocketManager alloc] initWithSocketURL:url config:@{@"log": @NO}];
self.socket = [self.manager defaultSocket];
}
@end

35
Usage Docs/15to16.md Normal file
View File

@ -0,0 +1,35 @@
# Upgrading from v15 to v16
This guide will help you navigate the changes that were introduced in v16.
## Objective-c is no longer supported. You must now use Swift.
## Client supports multiple socket.io versions
The client now supports socket.io 3 servers. This is mostly a transparent change, however if your server
is socket.io 2, you must send `.version(.two)` as an option to the manager.
```swift
SocketManager(socketURL: URL(string:"http://localhost:8087/")!, config: [.version(.two)])
```
## How to upgrade
- first, upgrade the Socket.IO server to v4 with the compatibility mode enabled (`allowEIO3: true`)
- then, upgrade the clients to v16
- finally, once all clients have upgraded, disable the compatibility mode
You can check the version of the connection on the server side with:
```js
io.on("connection", (socket) => {
// either 3 for the 3rd revision of the protocol (Socket.IO v2) or 4 for the 4th revision (Socket.IO v3/v4)
const version = socket.conn.protocol;
});
```
See also:
- [Compatibility table](https://nuclearace.github.io/Socket.IO-Client-Swift/Compatibility.html)
- Migrating from 2.x to 3.0: https://socket.io/docs/v4/migrating-from-2-x-to-3-0/
- Migrating from 3.x to 4.0: https://socket.io/docs/v4/migrating-from-3-x-to-4-0/

View File

@ -0,0 +1,61 @@
Here is the compatibility table with the Node.js server:
<table>
<tr>
<th rowspan="2">Swift Client version</th>
<th colspan="3">Socket.IO server version</th>
</tr>
<tr>
<td align="center">2.x</td>
<td align="center">3.x</td>
<td align="center">4.x</td>
</tr>
<tr>
<td align="center">v15.x</td>
<td align="center"><b>YES</b></td>
<td align="center"><b>YES</b><sup>1</sup></td>
<td align="center"><b>YES</b><sup>2</sup></td>
</tr>
<tr>
<td align="center">v16.x</td>
<td align="center"><b>YES</b><sup>3</sup></td>
<td align="center"><b>YES</b></td>
<td align="center"><b>YES</b></td>
</tr>
</table>
[1] Yes, with <code><a href="https://socket.io/docs/v4/server-initialization/#allowEIO3">allowEIO3: true</a></code> (server) and `.connectParams(["EIO": "3"])` (client):
*Server*
```js
const { createServer } = require("http");
const { Server } = require("socket.io");
const httpServer = createServer();
const io = new Server(httpServer, {
allowEIO3: true
});
httpServer.listen(8080);
```
*Client*
```swift
SocketManager(socketURL: URL(string:"http://localhost:8080/")!, config: [.connectParams(["EIO": "3"])])
```
[2] Yes, <code><a href="https://socket.io/docs/v4/server-initialization/#allowEIO3">allowEIO3: true</a></code> (server)
[3] Yes, with `.version(.two)` (client):
```swift
SocketManager(socketURL: URL(string:"http://localhost:8080/")!, config: [.version(.two)])
```
See also:
- Migrating from 2.x to 3.0: https://socket.io/docs/v4/migrating-from-2-x-to-3-0/
- Migrating from 3.x to 4.0: https://socket.io/docs/v4/migrating-from-3-x-to-4-0/
- Socket.IO protocol: https://github.com/socketio/socket.io-protocol

View File

@ -20,9 +20,9 @@
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="index.html">
SocketIO Docs
SocketIO 16.0.0 Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -49,6 +49,9 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="faq.html">FAQ</a>
</li>
@ -60,9 +63,6 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SSLSecurity.html">SSLSecurity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
@ -104,11 +104,55 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
@ -183,7 +227,7 @@
<article class="main-content">
<section class="section">
<div class="section-content">
<div class="section-content top-matter">
<h1 id='upgrading-from-v12' class='heading'>Upgrading from v12</h1>
@ -195,8 +239,8 @@ the swift client now only uses one engine per connection. Previously in order to
to create multiple clients, and each client had its own engine.</p>
<p>Some v12 code might&rsquo;ve looked like this:</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">defaultSocket</span> <span class="o">=</span> <span class="nf">SocketIOClient</span><span class="p">(</span><span class="nv">socketURL</span><span class="p">:</span> <span class="n">myURL</span><span class="p">)</span>
<span class="k">let</span> <span class="nv">namespaceSocket</span> <span class="o">=</span> <span class="nf">SocketIOClient</span><span class="p">(</span><span class="nv">socketURL</span><span class="p">:</span> <span class="n">myURL</span><span class="p">,</span> <span class="nv">config</span><span class="p">:</span> <span class="p">[</span><span class="o">.</span><span class="nf">nsp</span><span class="p">(</span><span class="s">"/swift"</span><span class="p">)])</span>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">defaultSocket</span> <span class="o">=</span> <span class="kt">SocketIOClient</span><span class="p">(</span><span class="nv">socketURL</span><span class="p">:</span> <span class="n">myURL</span><span class="p">)</span>
<span class="k">let</span> <span class="nv">namespaceSocket</span> <span class="o">=</span> <span class="kt">SocketIOClient</span><span class="p">(</span><span class="nv">socketURL</span><span class="p">:</span> <span class="n">myURL</span><span class="p">,</span> <span class="nv">config</span><span class="p">:</span> <span class="p">[</span><span class="o">.</span><span class="nf">nsp</span><span class="p">(</span><span class="s">"/swift"</span><span class="p">)])</span>
<span class="c1">// add handlers for sockets and connect</span>
@ -205,7 +249,7 @@ to create multiple clients, and each client had its own engine.</p>
<p>In v12 this would have opened two connections to the socket.io.</p>
<p>In v13 the same code would look like this:</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">manager</span> <span class="o">=</span> <span class="nf">SocketManager</span><span class="p">(</span><span class="nv">socketURL</span><span class="p">:</span> <span class="n">myURL</span><span class="p">)</span>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">manager</span> <span class="o">=</span> <span class="kt">SocketManager</span><span class="p">(</span><span class="nv">socketURL</span><span class="p">:</span> <span class="n">myURL</span><span class="p">)</span>
<span class="k">let</span> <span class="nv">defaultSocket</span> <span class="o">=</span> <span class="n">manager</span><span class="o">.</span><span class="n">defaultSocket</span>
<span class="k">let</span> <span class="nv">namespaceSocket</span> <span class="o">=</span> <span class="n">manager</span><span class="o">.</span><span class="nf">socket</span><span class="p">(</span><span class="nv">forNamespace</span><span class="p">:</span> <span class="s">"/swift"</span><span class="p">)</span>
@ -236,9 +280,9 @@ associated with that namespace.</p></li>
<p>You should know that <code><a href="Classes/SocketIOClient.html">SocketIOClient</a></code>s no longer need to be held around in properties, but the <code><a href="Classes/SocketManager.html">SocketManager</a></code> should.</p>
<p>One of the most common mistakes people made is not maintaining a strong reference to the client.</p>
<pre class="highlight swift"><code><span class="kd">class</span> <span class="nf">Manager</span> <span class="p">{</span>
<pre class="highlight swift"><code><span class="kd">class</span> <span class="kt">Manager</span> <span class="p">{</span>
<span class="kd">func</span> <span class="nf">addHandlers</span><span class="p">()</span> <span class="p">{</span>
<span class="k">let</span> <span class="nv">socket</span> <span class="o">=</span> <span class="nf">SocketIOClient</span><span class="p">(</span><span class="nv">socketURL</span><span class="p">:</span> <span class="n">myURL</span><span class="p">,</span> <span class="nv">config</span><span class="p">:</span> <span class="p">[</span><span class="o">.</span><span class="nf">nsp</span><span class="p">(</span><span class="s">"/swift"</span><span class="p">)])</span>
<span class="k">let</span> <span class="nv">socket</span> <span class="o">=</span> <span class="kt">SocketIOClient</span><span class="p">(</span><span class="nv">socketURL</span><span class="p">:</span> <span class="n">myURL</span><span class="p">,</span> <span class="nv">config</span><span class="p">:</span> <span class="p">[</span><span class="o">.</span><span class="nf">nsp</span><span class="p">(</span><span class="s">"/swift"</span><span class="p">)])</span>
<span class="c1">// Add handlers</span>
<span class="p">}</span>
@ -248,8 +292,8 @@ associated with that namespace.</p></li>
<p>This would have resulted in the client being released and no handlers being called.</p>
<p>A <em>correct</em> equivalent would be:</p>
<pre class="highlight swift"><code><span class="kd">class</span> <span class="nf">Manager</span> <span class="p">{</span>
<span class="k">let</span> <span class="nv">socketManager</span> <span class="o">=</span> <span class="nf">SocketManager</span><span class="p">(</span><span class="nv">socketURL</span><span class="p">:</span> <span class="n">someURL</span><span class="p">)</span>
<pre class="highlight swift"><code><span class="kd">class</span> <span class="kt">Manager</span> <span class="p">{</span>
<span class="k">let</span> <span class="nv">socketManager</span> <span class="o">=</span> <span class="kt">SocketManager</span><span class="p">(</span><span class="nv">socketURL</span><span class="p">:</span> <span class="n">someURL</span><span class="p">)</span>
<span class="kd">func</span> <span class="nf">addHandlers</span><span class="p">()</span> <span class="p">{</span>
<span class="k">let</span> <span class="nv">socket</span> <span class="o">=</span> <span class="n">socketManager</span><span class="o">.</span><span class="nf">socket</span><span class="p">(</span><span class="nv">forNamespace</span><span class="p">:</span> <span class="s">"/swift"</span><span class="p">)</span>
@ -268,7 +312,7 @@ multiple managers.</strong></p>
<h2 id='what-to-call-connect-on' class='heading'>What to call connect on</h2>
<p>Connect can either be called on the manager directly, or on one of the sockets made from it. In either case, if the manager
was not already connected to the server, a connection will be made. Also in both cases the default socket (namespace <q>/</q>)
was not already connected to the server, a connection will be made. Also in both cases the default socket (namespace &ldquo;/&rdquo;)
will fire a <code>connect</code> event. </p>
<p>The difference is that if <code>connect()</code> is just called on the manager, then any sockets for that manager that are not the default
@ -283,8 +327,8 @@ and a <code>connect</code> event fired.</p>
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>

255
docs/15to16.html Normal file
View File

@ -0,0 +1,255 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>15to16 Reference</title>
<link rel="stylesheet" type="text/css" href="css/jazzy.css" />
<link rel="stylesheet" type="text/css" href="css/highlight.css" />
<meta charset="utf-8">
<script src="js/jquery.min.js" defer></script>
<script src="js/jazzy.js" defer></script>
<script src="js/lunr.min.js" defer></script>
<script src="js/typeahead.jquery.js" defer></script>
<script src="js/jazzy.search.js" defer></script>
</head>
<body>
<a title="15to16 Reference"></a>
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="index.html">
SocketIO 16.0.0 Docs
</a>
(100% documented)
</p>
<p class="header-col--secondary">
<form role="search" action="search.json">
<input type="text" placeholder="Search documentation" data-typeahead>
</form>
</p>
</header>
<p class="breadcrumbs">
<a class="breadcrumb" href="index.html">SocketIO Reference</a>
<img class="carat" src="img/carat.png" />
15to16 Reference
</p>
<div class="content-wrapper">
<nav class="navigation">
<ul class="nav-groups">
<li class="nav-group-name">
<a class="nav-group-name-link" href="Guides.html">Guides</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="faq.html">FAQ</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SocketAnyEvent.html">SocketAnyEvent</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SocketEngine.html">SocketEngine</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SocketIOClient.html">SocketIOClient</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SocketManager.html">SocketManager</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SocketRawAckView.html">SocketRawAckView</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SocketRawView.html">SocketRawView</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Enums.html">Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketAckStatus.html">SocketAckStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketClientEvent.html">SocketClientEvent</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketEnginePacketType.html">SocketEnginePacketType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketIOClientOption.html">SocketIOClientOption</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/ConfigSettable.html">ConfigSettable</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SocketData.html">SocketData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SocketDataBufferable.html">SocketDataBufferable</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SocketEngineClient.html">SocketEngineClient</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SocketEnginePollable.html">SocketEnginePollable</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SocketEngineSpec.html">SocketEngineSpec</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SocketEngineWebsocket.html">SocketEngineWebsocket</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SocketIOClientSpec.html">SocketIOClientSpec</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SocketLogger.html">SocketLogger</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SocketManagerSpec.html">SocketManagerSpec</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SocketParsable.html">SocketParsable</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/SocketEventHandler.html">SocketEventHandler</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/SocketIOClientConfiguration.html">SocketIOClientConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/SocketPacket.html">SocketPacket</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/SocketPacket/PacketType.html"> PacketType</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Typealiases.html">Type Aliases</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Typealiases.html#/s:8SocketIO11AckCallbacka">AckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Typealiases.html#/s:8SocketIO14NormalCallbacka">NormalCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Typealiases.html#/s:8SocketIO4Posta">Post</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section class="section">
<div class="section-content top-matter">
<h1 id='upgrading-from-v15-to-v16' class='heading'>Upgrading from v15 to v16</h1>
<p>This guide will help you navigate the changes that were introduced in v16.</p>
<h2 id='objective-c-is-no-longer-supported-you-must-now-use-swift' class='heading'>Objective-c is no longer supported. You must now use Swift.</h2>
<h2 id='client-supports-multiple-socket-io-versions' class='heading'>Client supports multiple socket.io versions</h2>
<p>The client now supports socket.io 3 servers. This is mostly a transparent change, however if your sever
is socket.io 2, you must send <code>.version(.two)</code> as an option to the manager.</p>
<pre class="highlight swift"><code><span class="kt">SocketManager</span><span class="p">(</span><span class="nv">socketURL</span><span class="p">:</span> <span class="kt">URL</span><span class="p">(</span><span class="nv">string</span><span class="p">:</span><span class="s">"http://localhost:8087/"</span><span class="p">)</span><span class="o">!</span><span class="p">,</span> <span class="nv">config</span><span class="p">:</span> <span class="p">[</span><span class="o">.</span><span class="nf">version</span><span class="p">(</span><span class="o">.</span><span class="n">two</span><span class="p">)])</span>
</code></pre>
</div>
</section>
</article>
</div>
<section class="footer">
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>
</html>

View File

@ -21,9 +21,9 @@
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="index.html">
SocketIO Docs
SocketIO 16.0.0 Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -50,6 +50,9 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="faq.html">FAQ</a>
</li>
@ -61,9 +64,6 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SSLSecurity.html">SSLSecurity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
@ -105,11 +105,55 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
@ -184,7 +228,7 @@
<article class="main-content">
<section class="section">
<div class="section-content">
<div class="section-content top-matter">
<h1>Classes</h1>
<p>The following classes are available globally.</p>
@ -259,10 +303,6 @@ Example:</p>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<ul class="item-container">
<li class="item">
<div>
<code>
@ -291,10 +331,6 @@ Example:</p>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<ul class="item-container">
<li class="item">
<div>
<code>
@ -334,10 +370,6 @@ Example:</p>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<ul class="item-container">
<li class="item">
<div>
<code>
@ -402,10 +434,6 @@ Example:</p>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<ul class="item-container">
<li class="item">
<div>
<code>
@ -428,17 +456,14 @@ See <code><a href="Protocols/SocketEnginePollable.html">SocketEnginePollable</a>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">open</span> <span class="kd">class</span> <span class="kt">SocketEngine</span> <span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span> <span class="kt">URLSessionDelegate</span><span class="p">,</span> <span class="kt"><a href="Protocols/SocketEnginePollable.html">SocketEnginePollable</a></span><span class="p">,</span> <span class="kt"><a href="Protocols/SocketEngineWebsocket.html">SocketEngineWebsocket</a></span><span class="p">,</span> <span class="kt"><a href="Protocols/ConfigSettable.html">ConfigSettable</a></span></code></pre>
<pre class="highlight swift"><code><span class="kd">open</span> <span class="kd">class</span> <span class="kt">SocketEngine</span><span class="p">:</span>
<span class="kt">NSObject</span><span class="p">,</span> <span class="kt">WebSocketDelegate</span><span class="p">,</span> <span class="kt">URLSessionDelegate</span><span class="p">,</span> <span class="kt"><a href="Protocols/SocketEnginePollable.html">SocketEnginePollable</a></span><span class="p">,</span> <span class="kt"><a href="Protocols/SocketEngineWebsocket.html">SocketEngineWebsocket</a></span><span class="p">,</span> <span class="kt"><a href="Protocols/ConfigSettable.html">ConfigSettable</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<ul class="item-container">
<li class="item">
<div>
<code>
@ -457,7 +482,7 @@ See <code><a href="Protocols/SocketEnginePollable.html">SocketEnginePollable</a>
<p>A <code>SocketManager</code> is responsible for multiplexing multiple namespaces through a single <code><a href="Protocols/SocketEngineSpec.html">SocketEngineSpec</a></code>.</p>
<p>Example:</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">manager</span> <span class="o">=</span> <span class="nf">SocketManager</span><span class="p">(</span><span class="nv">socketURL</span><span class="p">:</span> <span class="nf">URL</span><span class="p">(</span><span class="nv">string</span><span class="p">:</span><span class="s">"http://localhost:8080/"</span><span class="p">)</span><span class="o">!</span><span class="p">)</span>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">manager</span> <span class="o">=</span> <span class="kt">SocketManager</span><span class="p">(</span><span class="nv">socketURL</span><span class="p">:</span> <span class="kt">URL</span><span class="p">(</span><span class="nv">string</span><span class="p">:</span><span class="s">"http://localhost:8080/"</span><span class="p">)</span><span class="o">!</span><span class="p">)</span>
<span class="k">let</span> <span class="nv">defaultNamespaceSocket</span> <span class="o">=</span> <span class="n">manager</span><span class="o">.</span><span class="n">defaultSocket</span>
<span class="k">let</span> <span class="nv">swiftSocket</span> <span class="o">=</span> <span class="n">manager</span><span class="o">.</span><span class="nf">socket</span><span class="p">(</span><span class="nv">forNamespace</span><span class="p">:</span> <span class="s">"/swift"</span><span class="p">)</span>
@ -467,7 +492,7 @@ See <code><a href="Protocols/SocketEnginePollable.html">SocketEnginePollable</a>
<p>Sockets created through the manager are retained by the manager. So at the very least, a single strong reference
to the manager must be maintained to keep sockets alive.</p>
<p>To disconnect a socket and remove it from the manager, either call <code><a href="Classes/SocketIOClient.html#/c:@M@SocketIO@objc(cs)SocketIOClient(im)disconnect">SocketIOClient.disconnect()</a></code> on the socket,
<p>To disconnect a socket and remove it from the manager, either call <code><a href="Classes/SocketIOClient.html#/s:8SocketIO0A8IOClientC10disconnectyyF">SocketIOClient.disconnect()</a></code> on the socket,
or call one of the <code>disconnectSocket</code> methods on this class.</p>
<p><strong>NOTE</strong>: The manager is not thread/queue safe, all interaction with the manager should be done on the <code>handleQueue</code></p>
@ -487,46 +512,14 @@ or call one of the <code>disconnectSocket</code> methods on this class.</p>
</li>
</ul>
</div>
<div class="task-group">
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SSLSecurity"></a>
<a name="//apple_ref/swift/Class/SSLSecurity" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SSLSecurity">SSLSecurity</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>A wrapper around Starscream&rsquo;s SSLSecurity that provides a minimal Objective-C interface.</p>
<a href="Classes/SSLSecurity.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">open</span> <span class="kd">class</span> <span class="kt">SSLSecurity</span> <span class="p">:</span> <span class="kt">NSObject</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</div>
</section>
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>

View File

@ -21,9 +21,9 @@
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
SocketIO Docs
SocketIO 16.0.0 Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -50,6 +50,9 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../faq.html">FAQ</a>
</li>
@ -61,9 +64,6 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SSLSecurity.html">SSLSecurity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
@ -105,11 +105,55 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
@ -184,10 +228,11 @@
<article class="main-content">
<section class="section">
<div class="section-content">
<div class="section-content top-matter">
<h1>OnAckCallback</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">final</span> <span class="kd">class</span> <span class="kt">OnAckCallback</span> <span class="p">:</span> <span class="kt">NSObject</span></code></pre>
</div>
@ -205,44 +250,15 @@ Example:</p>
<section class="section">
<div class="section-content">
<div class="task-group">
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)OnAckCallback(im)dealloc"></a>
<a name="//apple_ref/swift/Method/deinit" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)OnAckCallback(im)dealloc">deinit</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Undocumented</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">deinit</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/Methods"></a>
<a name="//apple_ref/swift/Section/Methods" class="dashAnchor"></a>
<a href="#/Methods">
<h3 class="section-name">Methods</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Methods"></a>
<h3 class="section-name"><p>Methods</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
@ -250,7 +266,7 @@ Example:</p>
<code>
<a name="/c:@M@SocketIO@objc(cs)OnAckCallback(im)timingOutAfter:callback:"></a>
<a name="//apple_ref/swift/Method/timingOut(after:callback:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)OnAckCallback(im)timingOutAfter:callback:">timingOut(after:callback:)</a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)OnAckCallback(im)timingOutAfter:callback:">timingOut(after:<wbr>callback:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -313,8 +329,8 @@ Example:</p>
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>

View File

@ -23,7 +23,7 @@
<a class="header-link" href="../index.html">
SocketIO Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -428,7 +428,7 @@ validation</p>
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-05-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>

View File

@ -21,9 +21,9 @@
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
SocketIO Docs
SocketIO 16.0.0 Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -50,6 +50,9 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../faq.html">FAQ</a>
</li>
@ -61,9 +64,6 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SSLSecurity.html">SSLSecurity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
@ -105,11 +105,55 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
@ -184,10 +228,11 @@
<article class="main-content">
<section class="section">
<div class="section-content">
<div class="section-content top-matter">
<h1>SocketAckEmitter</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">final</span> <span class="kd">class</span> <span class="kt">SocketAckEmitter</span> <span class="p">:</span> <span class="kt">NSObject</span></code></pre>
</div>
@ -230,7 +275,7 @@
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">@objc</span>
<span class="kd">public</span> <span class="kd">private(set)</span> <span class="kd">lazy</span> <span class="k">var</span> <span class="nv">rawEmitView</span><span class="p">:</span> <span class="nf">SocketRawAckView</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
<span class="kd">public</span> <span class="kd">private(set)</span> <span class="kd">lazy</span> <span class="k">var</span> <span class="nv">rawEmitView</span><span class="p">:</span> <span class="kt"><a href="../Classes/SocketRawAckView.html">SocketRawAckView</a></span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -243,9 +288,11 @@
<div class="task-name-container">
<a name="/Properties"></a>
<a name="//apple_ref/swift/Section/Properties" class="dashAnchor"></a>
<a href="#/Properties">
<h3 class="section-name">Properties</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Properties"></a>
<h3 class="section-name"><p>Properties</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
@ -268,7 +315,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">expected</span><span class="p">:</span> <span class="nf">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">expected</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -281,9 +328,11 @@
<div class="task-name-container">
<a name="/Initializers"></a>
<a name="//apple_ref/swift/Section/Initializers" class="dashAnchor"></a>
<a href="#/Initializers">
<h3 class="section-name">Initializers</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Initializers"></a>
<h3 class="section-name"><p>Initializers</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
@ -291,7 +340,7 @@
<code>
<a name="/s:8SocketIO0A10AckEmitterC6socket6ackNumAcA0A8IOClientC_Sitcfc"></a>
<a name="//apple_ref/swift/Method/init(socket:ackNum:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A10AckEmitterC6socket6ackNumAcA0A8IOClientC_Sitcfc">init(socket:ackNum:)</a>
<a class="token" href="#/s:8SocketIO0A10AckEmitterC6socket6ackNumAcA0A8IOClientC_Sitcfc">init(socket:<wbr>ackNum:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -350,9 +399,11 @@
<div class="task-name-container">
<a name="/Methods"></a>
<a name="//apple_ref/swift/Section/Methods" class="dashAnchor"></a>
<a href="#/Methods">
<h3 class="section-name">Methods</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Methods"></a>
<h3 class="section-name"><p>Methods</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
@ -360,7 +411,7 @@
<code>
<a name="/s:8SocketIO0A10AckEmitterC4withyyAA0A4Data_pd_tF"></a>
<a name="//apple_ref/swift/Method/with(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A10AckEmitterC4withyyAA0A4Data_pd_tF">with(_:)</a>
<a class="token" href="#/s:8SocketIO0A10AckEmitterC4withyyAA0A4Data_pd_tF">with(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -409,7 +460,7 @@ will be emitted. The structure of the error data is <code>[ackNum, items, theErr
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketAckEmitter(im)with:"></a>
<a name="//apple_ref/swift/Method/with(_:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketAckEmitter(im)with:">with(_:)</a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketAckEmitter(im)with:">with(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -459,8 +510,8 @@ will be emitted. The structure of the error data is <code>[ackNum, items, theErr
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>

View File

@ -21,9 +21,9 @@
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
SocketIO Docs
SocketIO 16.0.0 Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -50,6 +50,9 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../faq.html">FAQ</a>
</li>
@ -61,9 +64,6 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SSLSecurity.html">SSLSecurity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
@ -105,11 +105,55 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
@ -184,10 +228,11 @@
<article class="main-content">
<section class="section">
<div class="section-content">
<div class="section-content top-matter">
<h1>SocketAnyEvent</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">final</span> <span class="kd">class</span> <span class="kt">SocketAnyEvent</span> <span class="p">:</span> <span class="kt">NSObject</span></code></pre>
</div>
@ -203,9 +248,11 @@
<div class="task-name-container">
<a name="/Properties"></a>
<a name="//apple_ref/swift/Section/Properties" class="dashAnchor"></a>
<a href="#/Properties">
<h3 class="section-name">Properties</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Properties"></a>
<h3 class="section-name"><p>Properties</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
@ -284,7 +331,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">override</span> <span class="kd">public</span> <span class="k">var</span> <span class="nv">description</span><span class="p">:</span> <span class="nf">String</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">override</span> <span class="kd">public</span> <span class="k">var</span> <span class="nv">description</span><span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -299,8 +346,8 @@
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>

View File

@ -21,9 +21,9 @@
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
SocketIO Docs
SocketIO 16.0.0 Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -50,6 +50,9 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../faq.html">FAQ</a>
</li>
@ -61,9 +64,6 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SSLSecurity.html">SSLSecurity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
@ -105,11 +105,55 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
@ -184,11 +228,13 @@
<article class="main-content">
<section class="section">
<div class="section-content">
<div class="section-content top-matter">
<h1>SocketEngine</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">open</span> <span class="kd">class</span> <span class="kt">SocketEngine</span> <span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span> <span class="kt">URLSessionDelegate</span><span class="p">,</span> <span class="kt"><a href="../Protocols/SocketEnginePollable.html">SocketEnginePollable</a></span><span class="p">,</span> <span class="kt"><a href="../Protocols/SocketEngineWebsocket.html">SocketEngineWebsocket</a></span><span class="p">,</span> <span class="kt"><a href="../Protocols/ConfigSettable.html">ConfigSettable</a></span></code></pre>
<pre class="highlight swift"><code><span class="kd">open</span> <span class="kd">class</span> <span class="kt">SocketEngine</span><span class="p">:</span>
<span class="kt">NSObject</span><span class="p">,</span> <span class="kt">WebSocketDelegate</span><span class="p">,</span> <span class="kt">URLSessionDelegate</span><span class="p">,</span> <span class="kt"><a href="../Protocols/SocketEnginePollable.html">SocketEnginePollable</a></span><span class="p">,</span> <span class="kt"><a href="../Protocols/SocketEngineWebsocket.html">SocketEngineWebsocket</a></span><span class="p">,</span> <span class="kt"><a href="../Protocols/ConfigSettable.html">ConfigSettable</a></span></code></pre>
</div>
</div>
@ -204,17 +250,19 @@ See <code><a href="../Protocols/SocketEnginePollable.html">SocketEnginePollable<
<div class="task-name-container">
<a name="/Properties"></a>
<a name="//apple_ref/swift/Section/Properties" class="dashAnchor"></a>
<a href="#/Properties">
<h3 class="section-name">Properties</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Properties"></a>
<h3 class="section-name"><p>Properties</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketEngine(py)engineQueue"></a>
<a name="/s:8SocketIO0A6EngineC11engineQueueSo17OS_dispatch_queueCvp"></a>
<a name="//apple_ref/swift/Property/engineQueue" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketEngine(py)engineQueue">engineQueue</a>
<a class="token" href="#/s:8SocketIO0A6EngineC11engineQueueSo17OS_dispatch_queueCvp">engineQueue</a>
</code>
</div>
<div class="height-container">
@ -239,9 +287,9 @@ See <code><a href="../Protocols/SocketEnginePollable.html">SocketEnginePollable<
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketEngine(py)connectParams"></a>
<a name="/s:8SocketIO0A6EngineC13connectParamsSDySSypGSgvp"></a>
<a name="//apple_ref/swift/Property/connectParams" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketEngine(py)connectParams">connectParams</a>
<a class="token" href="#/s:8SocketIO0A6EngineC13connectParamsSDySSypGSgvp">connectParams</a>
</code>
</div>
<div class="height-container">
@ -266,9 +314,9 @@ See <code><a href="../Protocols/SocketEnginePollable.html">SocketEnginePollable<
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketEngine(py)extraHeaders"></a>
<a name="/s:8SocketIO0A6EngineC12extraHeadersSDyS2SGSgvp"></a>
<a name="//apple_ref/swift/Property/extraHeaders" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketEngine(py)extraHeaders">extraHeaders</a>
<a class="token" href="#/s:8SocketIO0A6EngineC12extraHeadersSDyS2SGSgvp">extraHeaders</a>
</code>
</div>
<div class="height-container">
@ -382,9 +430,9 @@ disconnect us.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketEngine(py)closed"></a>
<a name="/s:8SocketIO0A6EngineC6closedSbvp"></a>
<a name="//apple_ref/swift/Property/closed" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketEngine(py)closed">closed</a>
<a class="token" href="#/s:8SocketIO0A6EngineC6closedSbvp">closed</a>
</code>
</div>
<div class="height-container">
@ -399,9 +447,7 @@ disconnect us.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">closed</span><span class="p">:</span> <span class="nf">Bool</span> <span class="p">{</span>
<span class="k">get</span>
<span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">closed</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -411,9 +457,9 @@ disconnect us.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketEngine(py)compress"></a>
<a name="/s:8SocketIO0A6EngineC8compressSbvp"></a>
<a name="//apple_ref/swift/Property/compress" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketEngine(py)compress">compress</a>
<a class="token" href="#/s:8SocketIO0A6EngineC8compressSbvp">compress</a>
</code>
</div>
<div class="height-container">
@ -428,9 +474,7 @@ disconnect us.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">compress</span><span class="p">:</span> <span class="nf">Bool</span> <span class="p">{</span>
<span class="k">get</span>
<span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">compress</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -440,9 +484,9 @@ disconnect us.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketEngine(py)connected"></a>
<a name="/s:8SocketIO0A6EngineC9connectedSbvp"></a>
<a name="//apple_ref/swift/Property/connected" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketEngine(py)connected">connected</a>
<a class="token" href="#/s:8SocketIO0A6EngineC9connectedSbvp">connected</a>
</code>
</div>
<div class="height-container">
@ -457,9 +501,7 @@ disconnect us.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">connected</span><span class="p">:</span> <span class="nf">Bool</span> <span class="p">{</span>
<span class="k">get</span>
<span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">connected</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -469,9 +511,9 @@ disconnect us.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketEngine(py)cookies"></a>
<a name="/s:8SocketIO0A6EngineC7cookiesSaySo12NSHTTPCookieCGSgvp"></a>
<a name="//apple_ref/swift/Property/cookies" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketEngine(py)cookies">cookies</a>
<a class="token" href="#/s:8SocketIO0A6EngineC7cookiesSaySo12NSHTTPCookieCGSgvp">cookies</a>
</code>
</div>
<div class="height-container">
@ -486,9 +528,7 @@ disconnect us.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">cookies</span><span class="p">:</span> <span class="p">[</span><span class="kt">HTTPCookie</span><span class="p">]?</span> <span class="p">{</span>
<span class="k">get</span>
<span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">cookies</span><span class="p">:</span> <span class="p">[</span><span class="kt">HTTPCookie</span><span class="p">]?</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -498,9 +538,9 @@ disconnect us.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketEngine(py)fastUpgrade"></a>
<a name="/s:8SocketIO0A6EngineC11fastUpgradeSbvp"></a>
<a name="//apple_ref/swift/Property/fastUpgrade" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketEngine(py)fastUpgrade">fastUpgrade</a>
<a class="token" href="#/s:8SocketIO0A6EngineC11fastUpgradeSbvp">fastUpgrade</a>
</code>
</div>
<div class="height-container">
@ -517,9 +557,7 @@ disconnect us.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">fastUpgrade</span><span class="p">:</span> <span class="nf">Bool</span> <span class="p">{</span>
<span class="k">get</span>
<span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">fastUpgrade</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -529,9 +567,9 @@ disconnect us.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketEngine(py)forcePolling"></a>
<a name="/s:8SocketIO0A6EngineC12forcePollingSbvp"></a>
<a name="//apple_ref/swift/Property/forcePolling" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketEngine(py)forcePolling">forcePolling</a>
<a class="token" href="#/s:8SocketIO0A6EngineC12forcePollingSbvp">forcePolling</a>
</code>
</div>
<div class="height-container">
@ -546,9 +584,7 @@ disconnect us.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">forcePolling</span><span class="p">:</span> <span class="nf">Bool</span> <span class="p">{</span>
<span class="k">get</span>
<span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">forcePolling</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -558,9 +594,9 @@ disconnect us.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketEngine(py)forceWebsockets"></a>
<a name="/s:8SocketIO0A6EngineC15forceWebsocketsSbvp"></a>
<a name="//apple_ref/swift/Property/forceWebsockets" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketEngine(py)forceWebsockets">forceWebsockets</a>
<a class="token" href="#/s:8SocketIO0A6EngineC15forceWebsocketsSbvp">forceWebsockets</a>
</code>
</div>
<div class="height-container">
@ -575,9 +611,7 @@ disconnect us.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">forceWebsockets</span><span class="p">:</span> <span class="nf">Bool</span> <span class="p">{</span>
<span class="k">get</span>
<span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">forceWebsockets</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -604,9 +638,7 @@ disconnect us.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">invalidated</span><span class="p">:</span> <span class="nf">Bool</span> <span class="p">{</span>
<span class="k">get</span>
<span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">invalidated</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -616,9 +648,9 @@ disconnect us.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketEngine(py)polling"></a>
<a name="/s:8SocketIO0A6EngineC7pollingSbvp"></a>
<a name="//apple_ref/swift/Property/polling" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketEngine(py)polling">polling</a>
<a class="token" href="#/s:8SocketIO0A6EngineC7pollingSbvp">polling</a>
</code>
</div>
<div class="height-container">
@ -633,9 +665,7 @@ disconnect us.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">polling</span><span class="p">:</span> <span class="nf">Bool</span> <span class="p">{</span>
<span class="k">get</span>
<span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">polling</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -645,9 +675,9 @@ disconnect us.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketEngine(py)probing"></a>
<a name="/s:8SocketIO0A6EngineC7probingSbvp"></a>
<a name="//apple_ref/swift/Property/probing" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketEngine(py)probing">probing</a>
<a class="token" href="#/s:8SocketIO0A6EngineC7probingSbvp">probing</a>
</code>
</div>
<div class="height-container">
@ -662,9 +692,7 @@ disconnect us.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">probing</span><span class="p">:</span> <span class="nf">Bool</span> <span class="p">{</span>
<span class="k">get</span>
<span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">probing</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -691,9 +719,7 @@ disconnect us.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">session</span><span class="p">:</span> <span class="nf">URLSession</span><span class="p">?</span> <span class="p">{</span>
<span class="k">get</span>
<span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">session</span><span class="p">:</span> <span class="kt">URLSession</span><span class="p">?</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -703,9 +729,9 @@ disconnect us.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketEngine(py)sid"></a>
<a name="/s:8SocketIO0A6EngineC3sidSSvp"></a>
<a name="//apple_ref/swift/Property/sid" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketEngine(py)sid">sid</a>
<a class="token" href="#/s:8SocketIO0A6EngineC3sidSSvp">sid</a>
</code>
</div>
<div class="height-container">
@ -720,9 +746,7 @@ disconnect us.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">sid</span><span class="p">:</span> <span class="nf">String</span> <span class="p">{</span>
<span class="k">get</span>
<span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">sid</span><span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -732,9 +756,9 @@ disconnect us.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketEngine(py)socketPath"></a>
<a name="/s:8SocketIO0A6EngineC10socketPathSSvp"></a>
<a name="//apple_ref/swift/Property/socketPath" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketEngine(py)socketPath">socketPath</a>
<a class="token" href="#/s:8SocketIO0A6EngineC10socketPathSSvp">socketPath</a>
</code>
</div>
<div class="height-container">
@ -749,9 +773,7 @@ disconnect us.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">socketPath</span><span class="p">:</span> <span class="nf">String</span> <span class="p">{</span>
<span class="k">get</span>
<span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">socketPath</span><span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -761,9 +783,9 @@ disconnect us.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketEngine(py)urlPolling"></a>
<a name="/s:8SocketIO0A6EngineC10urlPolling10Foundation3URLVvp"></a>
<a name="//apple_ref/swift/Property/urlPolling" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketEngine(py)urlPolling">urlPolling</a>
<a class="token" href="#/s:8SocketIO0A6EngineC10urlPolling10Foundation3URLVvp">urlPolling</a>
</code>
</div>
<div class="height-container">
@ -778,9 +800,7 @@ disconnect us.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">urlPolling</span><span class="p">:</span> <span class="nf">URL</span> <span class="p">{</span>
<span class="k">get</span>
<span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">urlPolling</span><span class="p">:</span> <span class="kt">URL</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -790,9 +810,9 @@ disconnect us.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketEngine(py)urlWebSocket"></a>
<a name="/s:8SocketIO0A6EngineC06urlWebA010Foundation3URLVvp"></a>
<a name="//apple_ref/swift/Property/urlWebSocket" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketEngine(py)urlWebSocket">urlWebSocket</a>
<a class="token" href="#/s:8SocketIO0A6EngineC06urlWebA010Foundation3URLVvp">urlWebSocket</a>
</code>
</div>
<div class="height-container">
@ -807,9 +827,7 @@ disconnect us.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">urlWebSocket</span><span class="p">:</span> <span class="nf">URL</span> <span class="p">{</span>
<span class="k">get</span>
<span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">urlWebSocket</span><span class="p">:</span> <span class="kt">URL</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -819,9 +837,36 @@ disconnect us.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketEngine(py)websocket"></a>
<a name="/s:8SocketIO0A6EngineC7versionAA0A9IOVersionOvp"></a>
<a name="//apple_ref/swift/Property/version" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A6EngineC7versionAA0A9IOVersionOvp">version</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The version of engine.io being used. Default is three.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">version</span><span class="p">:</span> <span class="kt"><a href="../Enums/SocketIOVersion.html">SocketIOVersion</a></span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:8SocketIO0A6EngineC9websocketSbvp"></a>
<a name="//apple_ref/swift/Property/websocket" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketEngine(py)websocket">websocket</a>
<a class="token" href="#/s:8SocketIO0A6EngineC9websocketSbvp">websocket</a>
</code>
</div>
<div class="height-container">
@ -836,10 +881,8 @@ disconnect us.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">@available(*, deprecated, message: "No longer needed, if we're not polling, then we must be doing websockets")</span>
<span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">websocket</span><span class="p">:</span> <span class="nf">Bool</span> <span class="p">{</span>
<span class="k">get</span>
<span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">@available</span><span class="p">(</span><span class="o">*</span><span class="p">,</span> <span class="n">deprecated</span><span class="p">,</span> <span class="nv">message</span><span class="p">:</span> <span class="s">"No longer needed, if we're not polling, then we must be doing websockets"</span><span class="p">)</span>
<span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">websocket</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -849,9 +892,36 @@ disconnect us.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketEngine(py)ws"></a>
<a name="/s:8SocketIO0A6EngineC16enableSOCKSProxySbvp"></a>
<a name="//apple_ref/swift/Property/enableSOCKSProxy" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A6EngineC16enableSOCKSProxySbvp">enableSOCKSProxy</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>When <code>true</code>, the WebSocket <code>stream</code> will be configured with the enableSOCKSProxy <code>true</code>.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">enableSOCKSProxy</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:8SocketIO0A6EngineC2ws10Starscream03WebA0CSgvp"></a>
<a name="//apple_ref/swift/Property/ws" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketEngine(py)ws">ws</a>
<a class="token" href="#/s:8SocketIO0A6EngineC2ws10Starscream03WebA0CSgvp">ws</a>
</code>
</div>
<div class="height-container">
@ -866,9 +936,7 @@ disconnect us.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">ws</span><span class="p">:</span> <span class="nf">WebSocket</span><span class="p">?</span> <span class="p">{</span>
<span class="k">get</span>
<span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">ws</span><span class="p">:</span> <span class="kt">WebSocket</span><span class="p">?</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -878,9 +946,36 @@ disconnect us.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketEngine(py)client"></a>
<a name="/s:8SocketIO0A6EngineC11wsConnectedSbvp"></a>
<a name="//apple_ref/swift/Property/wsConnected" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A6EngineC11wsConnectedSbvp">wsConnected</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Whether or not the WebSocket is currently connected.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">wsConnected</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:8SocketIO0A6EngineC6clientAA0aC6Client_pSgvp"></a>
<a name="//apple_ref/swift/Property/client" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketEngine(py)client">client</a>
<a class="token" href="#/s:8SocketIO0A6EngineC6clientAA0aC6Client_pSgvp">client</a>
</code>
</div>
<div class="height-container">
@ -908,9 +1003,11 @@ disconnect us.</p>
<div class="task-name-container">
<a name="/Initializers"></a>
<a name="//apple_ref/swift/Section/Initializers" class="dashAnchor"></a>
<a href="#/Initializers">
<h3 class="section-name">Initializers</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Initializers"></a>
<h3 class="section-name"><p>Initializers</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
@ -918,7 +1015,7 @@ disconnect us.</p>
<code>
<a name="/s:8SocketIO0A6EngineC6client3url6configAcA0aC6Client_p_10Foundation3URLVAA0A21IOClientConfigurationVtcfc"></a>
<a name="//apple_ref/swift/Method/init(client:url:config:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A6EngineC6client3url6configAcA0aC6Client_p_10Foundation3URLVAA0A21IOClientConfigurationVtcfc">init(client:url:config:)</a>
<a class="token" href="#/s:8SocketIO0A6EngineC6client3url6configAcA0aC6Client_p_10Foundation3URLVAA0A21IOClientConfigurationVtcfc">init(client:<wbr>url:<wbr>config:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -986,9 +1083,9 @@ disconnect us.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketEngine(im)initWithClient:url:options:"></a>
<a name="/s:8SocketIO0A6EngineC6client3url7optionsAcA0aC6Client_p_10Foundation3URLVSDySSypGSgtcfc"></a>
<a name="//apple_ref/swift/Method/init(client:url:options:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketEngine(im)initWithClient:url:options:">init(client:url:options:)</a>
<a class="token" href="#/s:8SocketIO0A6EngineC6client3url7optionsAcA0aC6Client_p_10Foundation3URLVSDySSypGSgtcfc">init(client:<wbr>url:<wbr>options:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -1003,7 +1100,7 @@ disconnect us.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">required</span> <span class="n">convenience</span> <span class="nf">init</span><span class="p">(</span><span class="nv">client</span><span class="p">:</span> <span class="kt"><a href="../Protocols/SocketEngineClient.html">SocketEngineClient</a></span><span class="p">,</span> <span class="nv">url</span><span class="p">:</span> <span class="kt">URL</span><span class="p">,</span> <span class="nv">options</span><span class="p">:</span> <span class="p">[</span><span class="kt">String</span> <span class="p">:</span> <span class="kt">Any</span><span class="p">]?)</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">required</span> <span class="kd">convenience</span> <span class="nf">init</span><span class="p">(</span><span class="nv">client</span><span class="p">:</span> <span class="kt"><a href="../Protocols/SocketEngineClient.html">SocketEngineClient</a></span><span class="p">,</span> <span class="nv">url</span><span class="p">:</span> <span class="kt">URL</span><span class="p">,</span> <span class="nv">options</span><span class="p">:</span> <span class="p">[</span><span class="kt">String</span> <span class="p">:</span> <span class="kt">Any</span><span class="p">]?)</span></code></pre>
</div>
</div>
@ -1053,50 +1150,25 @@ disconnect us.</p>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketEngine(im)dealloc"></a>
<a name="//apple_ref/swift/Method/deinit" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketEngine(im)dealloc">deinit</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Undocumented</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">deinit</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/Methods"></a>
<a name="//apple_ref/swift/Section/Methods" class="dashAnchor"></a>
<a href="#/Methods">
<h3 class="section-name">Methods</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Methods"></a>
<h3 class="section-name"><p>Methods</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketEngine(im)connect"></a>
<a name="/s:8SocketIO0A6EngineC7connectyyF"></a>
<a name="//apple_ref/swift/Method/connect()" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketEngine(im)connect">connect()</a>
<a class="token" href="#/s:8SocketIO0A6EngineC7connectyyF">connect()</a>
</code>
</div>
<div class="height-container">
@ -1121,9 +1193,9 @@ disconnect us.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketEngine(im)didErrorWithReason:"></a>
<a name="/s:8SocketIO0A6EngineC8didError6reasonySS_tF"></a>
<a name="//apple_ref/swift/Method/didError(reason:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketEngine(im)didErrorWithReason:">didError(reason:)</a>
<a class="token" href="#/s:8SocketIO0A6EngineC8didError6reasonySS_tF">didError(reason:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -1148,9 +1220,9 @@ disconnect us.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketEngine(im)disconnectWithReason:"></a>
<a name="/s:8SocketIO0A6EngineC10disconnect6reasonySS_tF"></a>
<a name="//apple_ref/swift/Method/disconnect(reason:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketEngine(im)disconnectWithReason:">disconnect(reason:)</a>
<a class="token" href="#/s:8SocketIO0A6EngineC10disconnect6reasonySS_tF">disconnect(reason:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -1194,9 +1266,9 @@ disconnect us.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketEngine(im)doFastUpgrade"></a>
<a name="/s:8SocketIO0A6EngineC13doFastUpgradeyyF"></a>
<a name="//apple_ref/swift/Method/doFastUpgrade()" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketEngine(im)doFastUpgrade">doFastUpgrade()</a>
<a class="token" href="#/s:8SocketIO0A6EngineC13doFastUpgradeyyF">doFastUpgrade()</a>
</code>
</div>
<div class="height-container">
@ -1224,9 +1296,9 @@ WebSocket mode.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketEngine(im)flushWaitingForPostToWebSocket"></a>
<a name="/s:8SocketIO0A6EngineC024flushWaitingForPostToWebA0yyF"></a>
<a name="//apple_ref/swift/Method/flushWaitingForPostToWebSocket()" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketEngine(im)flushWaitingForPostToWebSocket">flushWaitingForPostToWebSocket()</a>
<a class="token" href="#/s:8SocketIO0A6EngineC024flushWaitingForPostToWebA0yyF">flushWaitingForPostToWebSocket()</a>
</code>
</div>
<div class="height-container">
@ -1254,9 +1326,9 @@ the engine is attempting to upgrade to WebSocket it does not do any POSTing.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketEngine(im)parseEngineData:"></a>
<a name="/s:8SocketIO0A6EngineC05parseC4Datayy10Foundation0E0VF"></a>
<a name="//apple_ref/swift/Method/parseEngineData(_:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketEngine(im)parseEngineData:">parseEngineData(_:)</a>
<a class="token" href="#/s:8SocketIO0A6EngineC05parseC4Datayy10Foundation0E0VF">parseEngineData(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -1300,9 +1372,9 @@ the engine is attempting to upgrade to WebSocket it does not do any POSTing.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketEngine(im)parseEngineMessage:"></a>
<a name="/s:8SocketIO0A6EngineC05parseC7MessageyySSF"></a>
<a name="//apple_ref/swift/Method/parseEngineMessage(_:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketEngine(im)parseEngineMessage:">parseEngineMessage(_:)</a>
<a class="token" href="#/s:8SocketIO0A6EngineC05parseC7MessageyySSF">parseEngineMessage(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -1348,7 +1420,7 @@ the engine is attempting to upgrade to WebSocket it does not do any POSTing.</p>
<code>
<a name="/s:8SocketIO0A6EngineC10setConfigsyyAA0A21IOClientConfigurationVF"></a>
<a name="//apple_ref/swift/Method/setConfigs(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A6EngineC10setConfigsyyAA0A21IOClientConfigurationVF">setConfigs(_:)</a>
<a class="token" href="#/s:8SocketIO0A6EngineC10setConfigsyyAA0A21IOClientConfigurationVF">setConfigs(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -1375,9 +1447,9 @@ the engine is attempting to upgrade to WebSocket it does not do any POSTing.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketEngine(im)write:withType:withData:completion:"></a>
<a name="/s:8SocketIO0A6EngineC5write_8withType0E4Data10completionySS_AA0ac6PacketF0OSay10Foundation0G0VGyycSgtF"></a>
<a name="//apple_ref/swift/Method/write(_:withType:withData:completion:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketEngine(im)write:withType:withData:completion:">write(_:withType:withData:completion:)</a>
<a class="token" href="#/s:8SocketIO0A6EngineC5write_8withType0E4Data10completionySS_AA0ac6PacketF0OSay10Foundation0G0VGyycSgtF">write(_:<wbr>withType:<wbr>withData:<wbr>completion:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -1460,9 +1532,11 @@ the engine is attempting to upgrade to WebSocket it does not do any POSTing.</p>
<div class="task-name-container">
<a name="/URLSessionDelegate%20methods"></a>
<a name="//apple_ref/swift/Section/URLSessionDelegate methods" class="dashAnchor"></a>
<a href="#/URLSessionDelegate%20methods">
<h3 class="section-name">URLSessionDelegate methods</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/URLSessionDelegate%20methods"></a>
<h3 class="section-name"><p>URLSessionDelegate methods</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
@ -1470,7 +1544,7 @@ the engine is attempting to upgrade to WebSocket it does not do any POSTing.</p>
<code>
<a name="/s:8SocketIO0A6EngineC10URLSession7session25didBecomeInvalidWithErrorySo12NSURLSessionC_So7NSErrorCSgtF"></a>
<a name="//apple_ref/swift/Method/URLSession(session:didBecomeInvalidWithError:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A6EngineC10URLSession7session25didBecomeInvalidWithErrorySo12NSURLSessionC_So7NSErrorCSgtF">URLSession(session:didBecomeInvalidWithError:)</a>
<a class="token" href="#/s:8SocketIO0A6EngineC10URLSession7session25didBecomeInvalidWithErrorySo12NSURLSessionC_So7NSErrorCSgtF">URLSession(session:<wbr>didBecomeInvalidWithError:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -1485,13 +1559,71 @@ the engine is attempting to upgrade to WebSocket it does not do any POSTing.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">URLSession</span><span class="p">(</span><span class="nv">session</span><span class="p">:</span> <span class="kt">URLSession</span><span class="p">,</span> <span class="n">didBecomeInvalidWithError</span> <span class="nv">error</span><span class="p">:</span> <span class="kt">NSError</span><span class="p">?)</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="kt">URLSession</span><span class="p">(</span><span class="nv">session</span><span class="p">:</span> <span class="kt">URLSession</span><span class="p">,</span> <span class="n">didBecomeInvalidWithError</span> <span class="nv">error</span><span class="p">:</span> <span class="kt">NSError</span><span class="p">?)</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:8SocketIO0A6EngineC10didReceive5event6clienty10Starscream03WebA5EventO_AG0iA0CtF"></a>
<a name="//apple_ref/swift/Method/didReceive(event:client:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A6EngineC10didReceive5event6clienty10Starscream03WebA5EventO_AG0iA0CtF">didReceive(event:<wbr>client:<wbr>)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Delegate method for WebSocketDelegate.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">didReceive</span><span class="p">(</span><span class="nv">event</span><span class="p">:</span> <span class="kt">WebSocketEvent</span><span class="p">,</span> <span class="n"><a href="../Classes/SocketEngine.html#/s:8SocketIO0A6EngineC6clientAA0aC6Client_pSgvp">client</a></span> <span class="nv">_</span><span class="p">:</span> <span class="kt">WebSocket</span><span class="p">)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>event</em>
</code>
</td>
<td>
<div>
<p>WS Event</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>_</em>
</code>
</td>
<td>
<div>
<p></p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
</ul>
</div>
</div>
@ -1500,8 +1632,8 @@ the engine is attempting to upgrade to WebSocket it does not do any POSTing.</p>
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>

File diff suppressed because it is too large Load Diff

View File

@ -21,9 +21,9 @@
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
SocketIO Docs
SocketIO 16.0.0 Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -50,6 +50,9 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../faq.html">FAQ</a>
</li>
@ -61,9 +64,6 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SSLSecurity.html">SSLSecurity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
@ -105,11 +105,55 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
@ -184,10 +228,11 @@
<article class="main-content">
<section class="section">
<div class="section-content">
<div class="section-content top-matter">
<h1>SocketManager</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">open</span> <span class="kd">class</span> <span class="kt">SocketManager</span> <span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span> <span class="kt"><a href="../Protocols/SocketManagerSpec.html">SocketManagerSpec</a></span><span class="p">,</span> <span class="kt"><a href="../Protocols/SocketParsable.html">SocketParsable</a></span><span class="p">,</span> <span class="kt"><a href="../Protocols/SocketDataBufferable.html">SocketDataBufferable</a></span><span class="p">,</span> <span class="kt"><a href="../Protocols/ConfigSettable.html">ConfigSettable</a></span></code></pre>
</div>
@ -197,7 +242,7 @@
<p>A <code>SocketManager</code> is responsible for multiplexing multiple namespaces through a single <code><a href="../Protocols/SocketEngineSpec.html">SocketEngineSpec</a></code>.</p>
<p>Example:</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">manager</span> <span class="o">=</span> <span class="nf">SocketManager</span><span class="p">(</span><span class="nv">socketURL</span><span class="p">:</span> <span class="nf">URL</span><span class="p">(</span><span class="nv">string</span><span class="p">:</span><span class="s">"http://localhost:8080/"</span><span class="p">)</span><span class="o">!</span><span class="p">)</span>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">manager</span> <span class="o">=</span> <span class="kt">SocketManager</span><span class="p">(</span><span class="nv">socketURL</span><span class="p">:</span> <span class="kt">URL</span><span class="p">(</span><span class="nv">string</span><span class="p">:</span><span class="s">"http://localhost:8080/"</span><span class="p">)</span><span class="o">!</span><span class="p">)</span>
<span class="k">let</span> <span class="nv">defaultNamespaceSocket</span> <span class="o">=</span> <span class="n">manager</span><span class="o">.</span><span class="n">defaultSocket</span>
<span class="k">let</span> <span class="nv">swiftSocket</span> <span class="o">=</span> <span class="n">manager</span><span class="o">.</span><span class="nf">socket</span><span class="p">(</span><span class="nv">forNamespace</span><span class="p">:</span> <span class="s">"/swift"</span><span class="p">)</span>
@ -207,7 +252,7 @@
<p>Sockets created through the manager are retained by the manager. So at the very least, a single strong reference
to the manager must be maintained to keep sockets alive.</p>
<p>To disconnect a socket and remove it from the manager, either call <code><a href="../Classes/SocketIOClient.html#/c:@M@SocketIO@objc(cs)SocketIOClient(im)disconnect">SocketIOClient.disconnect()</a></code> on the socket,
<p>To disconnect a socket and remove it from the manager, either call <code><a href="../Classes/SocketIOClient.html#/s:8SocketIO0A8IOClientC10disconnectyyF">SocketIOClient.disconnect()</a></code> on the socket,
or call one of the <code>disconnectSocket</code> methods on this class.</p>
<p><strong>NOTE</strong>: The manager is not thread/queue safe, all interaction with the manager should be done on the <code>handleQueue</code></p>
@ -221,17 +266,19 @@ or call one of the <code>disconnectSocket</code> methods on this class.</p>
<div class="task-name-container">
<a name="/Properties"></a>
<a name="//apple_ref/swift/Section/Properties" class="dashAnchor"></a>
<a href="#/Properties">
<h3 class="section-name">Properties</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Properties"></a>
<h3 class="section-name"><p>Properties</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketManager(py)defaultSocket"></a>
<a name="/s:8SocketIO0A7ManagerC07defaultA0AA0A8IOClientCvp"></a>
<a name="//apple_ref/swift/Property/defaultSocket" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(py)defaultSocket">defaultSocket</a>
<a class="token" href="#/s:8SocketIO0A7ManagerC07defaultA0AA0A8IOClientCvp">defaultSocket</a>
</code>
</div>
<div class="height-container">
@ -239,14 +286,14 @@ or call one of the <code>disconnectSocket</code> methods on this class.</p>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The socket associated with the default namespace (<q>/</q>).</p>
<p>The socket associated with the default namespace (&ldquo;/&rdquo;).</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">defaultSocket</span><span class="p">:</span> <span class="nf">SocketIOClient</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">defaultSocket</span><span class="p">:</span> <span class="kt"><a href="../Classes/SocketIOClient.html">SocketIOClient</a></span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -256,9 +303,9 @@ or call one of the <code>disconnectSocket</code> methods on this class.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketManager(py)socketURL"></a>
<a name="/s:8SocketIO0A7ManagerC9socketURL10Foundation0E0Vvp"></a>
<a name="//apple_ref/swift/Property/socketURL" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(py)socketURL">socketURL</a>
<a class="token" href="#/s:8SocketIO0A7ManagerC9socketURL10Foundation0E0Vvp">socketURL</a>
</code>
</div>
<div class="height-container">
@ -268,7 +315,7 @@ or call one of the <code>disconnectSocket</code> methods on this class.</p>
<div class="abstract">
<p>The URL of the socket.io server.</p>
<p>If changed after calling <code>init</code>, <code><a href="../Classes/SocketManager.html#/c:@M@SocketIO@objc(cs)SocketManager(py)forceNew">forceNew</a></code> must be set to <code>true</code>, or it will only connect to the url set in the
<p>If changed after calling <code>init</code>, <code><a href="../Classes/SocketManager.html#/s:8SocketIO0A7ManagerC8forceNewSbvp">forceNew</a></code> must be set to <code>true</code>, or it will only connect to the url set in the
init.</p>
</div>
@ -305,7 +352,7 @@ init.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">config</span><span class="p">:</span> <span class="nf">SocketIOClientConfiguration</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">config</span><span class="p">:</span> <span class="kt"><a href="../Structs/SocketIOClientConfiguration.html">SocketIOClientConfiguration</a></span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -315,9 +362,9 @@ init.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketManager(py)engine"></a>
<a name="/s:8SocketIO0A7ManagerC6engineAA0A10EngineSpec_pSgvp"></a>
<a name="//apple_ref/swift/Property/engine" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(py)engine">engine</a>
<a class="token" href="#/s:8SocketIO0A7ManagerC6engineAA0A10EngineSpec_pSgvp">engine</a>
</code>
</div>
<div class="height-container">
@ -342,9 +389,9 @@ init.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketManager(py)forceNew"></a>
<a name="/s:8SocketIO0A7ManagerC8forceNewSbvp"></a>
<a name="//apple_ref/swift/Property/forceNew" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(py)forceNew">forceNew</a>
<a class="token" href="#/s:8SocketIO0A7ManagerC8forceNewSbvp">forceNew</a>
</code>
</div>
<div class="height-container">
@ -369,9 +416,9 @@ init.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketManager(py)handleQueue"></a>
<a name="/s:8SocketIO0A7ManagerC11handleQueueSo17OS_dispatch_queueCvp"></a>
<a name="//apple_ref/swift/Property/handleQueue" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(py)handleQueue">handleQueue</a>
<a class="token" href="#/s:8SocketIO0A7ManagerC11handleQueueSo17OS_dispatch_queueCvp">handleQueue</a>
</code>
</div>
<div class="height-container">
@ -399,9 +446,9 @@ called on.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketManager(py)nsps"></a>
<a name="/s:8SocketIO0A7ManagerC4nspsSDySSAA0A8IOClientCGvp"></a>
<a name="//apple_ref/swift/Property/nsps" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(py)nsps">nsps</a>
<a class="token" href="#/s:8SocketIO0A7ManagerC4nspsSDySSAA0A8IOClientCGvp">nsps</a>
</code>
</div>
<div class="height-container">
@ -426,9 +473,9 @@ called on.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketManager(py)reconnects"></a>
<a name="/s:8SocketIO0A7ManagerC10reconnectsSbvp"></a>
<a name="//apple_ref/swift/Property/reconnects" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(py)reconnects">reconnects</a>
<a class="token" href="#/s:8SocketIO0A7ManagerC10reconnectsSbvp">reconnects</a>
</code>
</div>
<div class="height-container">
@ -453,9 +500,9 @@ called on.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketManager(py)reconnectWait"></a>
<a name="/s:8SocketIO0A7ManagerC13reconnectWaitSivp"></a>
<a name="//apple_ref/swift/Property/reconnectWait" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(py)reconnectWait">reconnectWait</a>
<a class="token" href="#/s:8SocketIO0A7ManagerC13reconnectWaitSivp">reconnectWait</a>
</code>
</div>
<div class="height-container">
@ -480,9 +527,9 @@ called on.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketManager(py)reconnectWaitMax"></a>
<a name="/s:8SocketIO0A7ManagerC16reconnectWaitMaxSivp"></a>
<a name="//apple_ref/swift/Property/reconnectWaitMax" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(py)reconnectWaitMax">reconnectWaitMax</a>
<a class="token" href="#/s:8SocketIO0A7ManagerC16reconnectWaitMaxSivp">reconnectWaitMax</a>
</code>
</div>
<div class="height-container">
@ -507,9 +554,9 @@ called on.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketManager(py)randomizationFactor"></a>
<a name="/s:8SocketIO0A7ManagerC19randomizationFactorSdvp"></a>
<a name="//apple_ref/swift/Property/randomizationFactor" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(py)randomizationFactor">randomizationFactor</a>
<a class="token" href="#/s:8SocketIO0A7ManagerC19randomizationFactorSdvp">randomizationFactor</a>
</code>
</div>
<div class="height-container">
@ -534,9 +581,9 @@ called on.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketManager(py)status"></a>
<a name="/s:8SocketIO0A7ManagerC6statusAA0A8IOStatusOvp"></a>
<a name="//apple_ref/swift/Property/status" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(py)status">status</a>
<a class="token" href="#/s:8SocketIO0A7ManagerC6statusAA0A8IOStatusOvp">status</a>
</code>
</div>
<div class="height-container">
@ -551,7 +598,33 @@ called on.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">status</span><span class="p">:</span> <span class="nf">SocketIOStatus</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">status</span><span class="p">:</span> <span class="kt"><a href="../Enums/SocketIOStatus.html">SocketIOStatus</a></span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:8SocketIO0A11ManagerSpecP7versionAA0A9IOVersionOvp"></a>
<a name="//apple_ref/swift/Property/version" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A11ManagerSpecP7versionAA0A9IOVersionOvp">version</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">version</span><span class="p">:</span> <span class="kt"><a href="../Enums/SocketIOVersion.html">SocketIOVersion</a></span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -596,9 +669,11 @@ So this should ideally be an array of one packet waiting for data.</p>
<div class="task-name-container">
<a name="/Initializers"></a>
<a name="//apple_ref/swift/Section/Initializers" class="dashAnchor"></a>
<a href="#/Initializers">
<h3 class="section-name">Initializers</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Initializers"></a>
<h3 class="section-name"><p>Initializers</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
@ -606,7 +681,7 @@ So this should ideally be an array of one packet waiting for data.</p>
<code>
<a name="/s:8SocketIO0A7ManagerC9socketURL6configAC10Foundation0E0V_AA0A21IOClientConfigurationVtcfc"></a>
<a name="//apple_ref/swift/Method/init(socketURL:config:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A7ManagerC9socketURL6configAC10Foundation0E0V_AA0A21IOClientConfigurationVtcfc">init(socketURL:config:)</a>
<a class="token" href="#/s:8SocketIO0A7ManagerC9socketURL6configAC10Foundation0E0V_AA0A21IOClientConfigurationVtcfc">init(socketURL:<wbr>config:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -664,7 +739,7 @@ So this should ideally be an array of one packet waiting for data.</p>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketManager(im)initWithSocketURL:config:"></a>
<a name="//apple_ref/swift/Method/init(socketURL:config:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(im)initWithSocketURL:config:">init(socketURL:config:)</a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(im)initWithSocketURL:config:">init(socketURL:<wbr>config:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -681,7 +756,7 @@ If using Swift it&rsquo;s recommended to use <code>init(socketURL: NSURL, option
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">@objc</span>
<span class="kd">public</span> <span class="n">convenience</span> <span class="nf">init</span><span class="p">(</span><span class="nv">socketURL</span><span class="p">:</span> <span class="kt">URL</span><span class="p">,</span> <span class="nv">config</span><span class="p">:</span> <span class="p">[</span><span class="kt">String</span> <span class="p">:</span> <span class="kt">Any</span><span class="p">]?)</span></code></pre>
<span class="kd">public</span> <span class="kd">convenience</span> <span class="nf">init</span><span class="p">(</span><span class="nv">socketURL</span><span class="p">:</span> <span class="kt">URL</span><span class="p">,</span> <span class="nv">config</span><span class="p">:</span> <span class="p">[</span><span class="kt">String</span> <span class="p">:</span> <span class="kt">Any</span><span class="p">]?)</span></code></pre>
</div>
</div>
@ -719,50 +794,25 @@ If using Swift it&rsquo;s recommended to use <code>init(socketURL: NSURL, option
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketManager(im)dealloc"></a>
<a name="//apple_ref/swift/Method/deinit" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(im)dealloc">deinit</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Undocumented</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">deinit</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/Methods"></a>
<a name="//apple_ref/swift/Section/Methods" class="dashAnchor"></a>
<a href="#/Methods">
<h3 class="section-name">Methods</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Methods"></a>
<h3 class="section-name"><p>Methods</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketManager(im)connect"></a>
<a name="/s:8SocketIO0A7ManagerC7connectyyF"></a>
<a name="//apple_ref/swift/Method/connect()" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(im)connect">connect()</a>
<a class="token" href="#/s:8SocketIO0A7ManagerC7connectyyF">connect()</a>
</code>
</div>
<div class="height-container">
@ -789,9 +839,9 @@ If using Swift it&rsquo;s recommended to use <code>init(socketURL: NSURL, option
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketManager(im)connectSocket:"></a>
<a name="//apple_ref/swift/Method/connectSocket(_:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(im)connectSocket:">connectSocket(_:)</a>
<a name="/s:8SocketIO0A7ManagerC07connectA0_11withPayloadyAA0A8IOClientC_SDySSypGSgtF"></a>
<a name="//apple_ref/swift/Method/connectSocket(_:withPayload:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A7ManagerC07connectA0_11withPayloadyAA0A8IOClientC_SDySSypGSgtF">connectSocket(_:<wbr>withPayload:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -806,7 +856,7 @@ If using Swift it&rsquo;s recommended to use <code>init(socketURL: NSURL, option
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">open</span> <span class="kd">func</span> <span class="nf">connectSocket</span><span class="p">(</span><span class="n">_</span> <span class="nv">socket</span><span class="p">:</span> <span class="kt"><a href="../Classes/SocketIOClient.html">SocketIOClient</a></span><span class="p">)</span></code></pre>
<pre class="highlight swift"><code><span class="kd">open</span> <span class="kd">func</span> <span class="nf">connectSocket</span><span class="p">(</span><span class="n">_</span> <span class="nv">socket</span><span class="p">:</span> <span class="kt"><a href="../Classes/SocketIOClient.html">SocketIOClient</a></span><span class="p">,</span> <span class="n">withPayload</span> <span class="nv">payload</span><span class="p">:</span> <span class="p">[</span><span class="kt">String</span> <span class="p">:</span> <span class="kt">Any</span><span class="p">]?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
</div>
</div>
@ -826,6 +876,18 @@ If using Swift it&rsquo;s recommended to use <code>init(socketURL: NSURL, option
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>withPayload</em>
</code>
</td>
<td>
<div>
<p>Optional payload to send on connect</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
@ -835,9 +897,9 @@ If using Swift it&rsquo;s recommended to use <code>init(socketURL: NSURL, option
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketManager(im)didDisconnectWithReason:"></a>
<a name="/s:8SocketIO0A7ManagerC13didDisconnect6reasonySS_tF"></a>
<a name="//apple_ref/swift/Method/didDisconnect(reason:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(im)didDisconnectWithReason:">didDisconnect(reason:)</a>
<a class="token" href="#/s:8SocketIO0A7ManagerC13didDisconnect6reasonySS_tF">didDisconnect(reason:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -881,9 +943,9 @@ If using Swift it&rsquo;s recommended to use <code>init(socketURL: NSURL, option
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketManager(im)disconnect"></a>
<a name="/s:8SocketIO0A7ManagerC10disconnectyyF"></a>
<a name="//apple_ref/swift/Method/disconnect()" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(im)disconnect">disconnect()</a>
<a class="token" href="#/s:8SocketIO0A7ManagerC10disconnectyyF">disconnect()</a>
</code>
</div>
<div class="height-container">
@ -908,9 +970,9 @@ If using Swift it&rsquo;s recommended to use <code>init(socketURL: NSURL, option
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketManager(im)disconnectSocket:"></a>
<a name="/s:8SocketIO0A7ManagerC010disconnectA0yyAA0A8IOClientCF"></a>
<a name="//apple_ref/swift/Method/disconnectSocket(_:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(im)disconnectSocket:">disconnectSocket(_:)</a>
<a class="token" href="#/s:8SocketIO0A7ManagerC010disconnectA0yyAA0A8IOClientCF">disconnectSocket(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -957,9 +1019,9 @@ releasing.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketManager(im)disconnectSocketForNamespace:"></a>
<a name="/s:8SocketIO0A7ManagerC010disconnectA012forNamespaceySS_tF"></a>
<a name="//apple_ref/swift/Method/disconnectSocket(forNamespace:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(im)disconnectSocketForNamespace:">disconnectSocket(forNamespace:)</a>
<a class="token" href="#/s:8SocketIO0A7ManagerC010disconnectA012forNamespaceySS_tF">disconnectSocket(forNamespace:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -1008,7 +1070,7 @@ releasing.</p>
<code>
<a name="/s:8SocketIO0A7ManagerC7emitAll11clientEvent4datayAA0a6ClientG0O_SayypGtF"></a>
<a name="//apple_ref/swift/Method/emitAll(clientEvent:data:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A7ManagerC7emitAll11clientEvent4datayAA0a6ClientG0O_SayypGtF">emitAll(clientEvent:data:)</a>
<a class="token" href="#/s:8SocketIO0A7ManagerC7emitAll11clientEvent4datayAA0a6ClientG0O_SayypGtF">emitAll(clientEvent:<wbr>data:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -1016,7 +1078,7 @@ releasing.</p>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Sends a client event to all sockets in <code><a href="../Classes/SocketManager.html#/c:@M@SocketIO@objc(cs)SocketManager(py)nsps">nsps</a></code></p>
<p>Sends a client event to all sockets in <code><a href="../Classes/SocketManager.html#/s:8SocketIO0A7ManagerC4nspsSDySSAA0A8IOClientCGvp">nsps</a></code></p>
</div>
<div class="declaration">
@ -1054,7 +1116,7 @@ releasing.</p>
<code>
<a name="/s:8SocketIO0A7ManagerC7emitAllyySS_AA0A4Data_pdtF"></a>
<a name="//apple_ref/swift/Method/emitAll(_:_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A7ManagerC7emitAllyySS_AA0A4Data_pdtF">emitAll(_:_:)</a>
<a class="token" href="#/s:8SocketIO0A7ManagerC7emitAllyySS_AA0A4Data_pdtF">emitAll(_:<wbr>_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -1107,72 +1169,12 @@ releasing.</p>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketManager(im)emitAll:withItems:"></a>
<a name="//apple_ref/swift/Method/emitAll(_:withItems:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(im)emitAll:withItems:">emitAll(_:withItems:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Sends an event to the server on all namespaces in this manager.</p>
<p>Same as <code><a href="../Classes/SocketManager.html#/s:8SocketIO0A7ManagerC7emitAllyySS_AA0A4Data_pdtF">emitAll(_:_:)</a></code>, but meant for Objective-C.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">open</span> <span class="kd">func</span> <span class="nf">emitAll</span><span class="p">(</span><span class="n">_</span> <span class="nv">event</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="n">withItems</span> <span class="nv">items</span><span class="p">:</span> <span class="p">[</span><span class="kt">Any</span><span class="p">])</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>event</em>
</code>
</td>
<td>
<div>
<p>The event to send.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>items</em>
</code>
</td>
<td>
<div>
<p>The data to send with this event.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketManager(im)engineDidCloseWithReason:"></a>
<a name="//apple_ref/swift/Method/engineDidClose(reason:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(im)engineDidCloseWithReason:">engineDidClose(reason:)</a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(im)engineDidCloseWithReason:">engineDidClose(reason:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -1218,7 +1220,7 @@ releasing.</p>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketManager(im)engineDidErrorWithReason:"></a>
<a name="//apple_ref/swift/Method/engineDidError(reason:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(im)engineDidErrorWithReason:">engineDidError(reason:)</a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(im)engineDidErrorWithReason:">engineDidError(reason:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -1264,7 +1266,7 @@ releasing.</p>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketManager(im)engineDidOpenWithReason:"></a>
<a name="//apple_ref/swift/Method/engineDidOpen(reason:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(im)engineDidOpenWithReason:">engineDidOpen(reason:)</a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(im)engineDidOpenWithReason:">engineDidOpen(reason:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -1308,9 +1310,9 @@ releasing.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketManager(im)engineDidReceivePong"></a>
<a name="//apple_ref/swift/Method/engineDidReceivePong()" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(im)engineDidReceivePong">engineDidReceivePong()</a>
<a name="/c:@M@SocketIO@objc(cs)SocketManager(im)engineDidReceivePing"></a>
<a name="//apple_ref/swift/Method/engineDidReceivePing()" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(im)engineDidReceivePing">engineDidReceivePing()</a>
</code>
</div>
<div class="height-container">
@ -1318,14 +1320,14 @@ releasing.</p>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Called when the engine receives a pong message.</p>
<p>Called when the engine receives a ping message.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">open</span> <span class="kd">func</span> <span class="nf">engineDidReceivePong</span><span class="p">()</span></code></pre>
<pre class="highlight swift"><code><span class="kd">open</span> <span class="kd">func</span> <span class="nf">engineDidReceivePing</span><span class="p">()</span></code></pre>
</div>
</div>
@ -1359,12 +1361,66 @@ releasing.</p>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketManager(im)engineDidReceivePong"></a>
<a name="//apple_ref/swift/Method/engineDidReceivePong()" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(im)engineDidReceivePong">engineDidReceivePong()</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Called when the engine receives a pong message.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">open</span> <span class="kd">func</span> <span class="nf">engineDidReceivePong</span><span class="p">()</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketManager(im)engineDidSendPong"></a>
<a name="//apple_ref/swift/Method/engineDidSendPong()" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(im)engineDidSendPong">engineDidSendPong()</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Called when the sends a pong to the server.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">open</span> <span class="kd">func</span> <span class="nf">engineDidSendPong</span><span class="p">()</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketManager(im)engineDidWebsocketUpgradeWithHeaders:"></a>
<a name="//apple_ref/swift/Method/engineDidWebsocketUpgrade(headers:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(im)engineDidWebsocketUpgradeWithHeaders:">engineDidWebsocketUpgrade(headers:)</a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(im)engineDidWebsocketUpgradeWithHeaders:">engineDidWebsocketUpgrade(headers:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -1410,7 +1466,7 @@ releasing.</p>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketManager(im)parseEngineMessage:"></a>
<a name="//apple_ref/swift/Method/parseEngineMessage(_:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(im)parseEngineMessage:">parseEngineMessage(_:)</a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(im)parseEngineMessage:">parseEngineMessage(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -1456,7 +1512,7 @@ releasing.</p>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketManager(im)parseEngineBinaryData:"></a>
<a name="//apple_ref/swift/Method/parseEngineBinaryData(_:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(im)parseEngineBinaryData:">parseEngineBinaryData(_:)</a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(im)parseEngineBinaryData:">parseEngineBinaryData(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -1500,9 +1556,9 @@ releasing.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketManager(im)reconnect"></a>
<a name="/s:8SocketIO0A7ManagerC9reconnectyyF"></a>
<a name="//apple_ref/swift/Method/reconnect()" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(im)reconnect">reconnect()</a>
<a class="token" href="#/s:8SocketIO0A7ManagerC9reconnectyyF">reconnect()</a>
</code>
</div>
<div class="height-container">
@ -1530,9 +1586,9 @@ releasing.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketManager(im)removeSocket:"></a>
<a name="/s:8SocketIO0A7ManagerC06removeA0yAA0A8IOClientCSgAFF"></a>
<a name="//apple_ref/swift/Method/removeSocket(_:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(im)removeSocket:">removeSocket(_:)</a>
<a class="token" href="#/s:8SocketIO0A7ManagerC06removeA0yAA0A8IOClientCSgAFF">removeSocket(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -1586,7 +1642,7 @@ method.</p>
<code>
<a name="/s:8SocketIO0A7ManagerC10setConfigsyyAA0A21IOClientConfigurationVF"></a>
<a name="//apple_ref/swift/Method/setConfigs(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A7ManagerC10setConfigsyyAA0A21IOClientConfigurationVF">setConfigs(_:)</a>
<a class="token" href="#/s:8SocketIO0A7ManagerC10setConfigsyyAA0A21IOClientConfigurationVF">setConfigs(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -1613,9 +1669,9 @@ method.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketManager(im)socketForNamespace:"></a>
<a name="/s:8SocketIO0A7ManagerC6socket12forNamespaceAA0A8IOClientCSS_tF"></a>
<a name="//apple_ref/swift/Method/socket(forNamespace:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketManager(im)socketForNamespace:">socket(forNamespace:)</a>
<a class="token" href="#/s:8SocketIO0A7ManagerC6socket12forNamespaceAA0A8IOClientCSS_tF">socket(forNamespace:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -1629,7 +1685,7 @@ method.</p>
<p>Sockets created from this method are retained by the manager.
Call one of the <code>disconnectSocket</code> methods on this class to remove the socket from manager control.
Or call <code><a href="../Classes/SocketIOClient.html#/c:@M@SocketIO@objc(cs)SocketIOClient(im)disconnect">SocketIOClient.disconnect()</a></code> on the client.</p>
Or call <code><a href="../Classes/SocketIOClient.html#/s:8SocketIO0A8IOClientC10disconnectyyF">SocketIOClient.disconnect()</a></code> on the client.</p>
</div>
<div class="declaration">
@ -1674,8 +1730,8 @@ Or call <code><a href="../Classes/SocketIOClient.html#/c:@M@SocketIO@objc(cs)Soc
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>

View File

@ -21,9 +21,9 @@
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
SocketIO Docs
SocketIO 16.0.0 Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -50,6 +50,9 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../faq.html">FAQ</a>
</li>
@ -61,9 +64,6 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SSLSecurity.html">SSLSecurity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
@ -105,11 +105,55 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
@ -184,10 +228,11 @@
<article class="main-content">
<section class="section">
<div class="section-content">
<div class="section-content top-matter">
<h1>SocketRawAckView</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">final</span> <span class="kd">class</span> <span class="kt">SocketRawAckView</span> <span class="p">:</span> <span class="kt">NSObject</span></code></pre>
</div>
@ -210,7 +255,7 @@
<code>
<a name="/s:8SocketIO0A10RawAckViewC4withyyAA0A4Data_pd_tF"></a>
<a name="//apple_ref/swift/Method/with(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A10RawAckViewC4withyyAA0A4Data_pd_tF">with(_:)</a>
<a class="token" href="#/s:8SocketIO0A10RawAckViewC4withyyAA0A4Data_pd_tF">with(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -259,7 +304,7 @@ will be emitted. The structure of the error data is <code>[ackNum, items, theErr
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketRawAckView(im)with:"></a>
<a name="//apple_ref/swift/Method/with(_:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketRawAckView(im)with:">with(_:)</a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketRawAckView(im)with:">with(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -309,8 +354,8 @@ will be emitted. The structure of the error data is <code>[ackNum, items, theErr
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>

View File

@ -21,9 +21,9 @@
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
SocketIO Docs
SocketIO 16.0.0 Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -50,6 +50,9 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../faq.html">FAQ</a>
</li>
@ -61,9 +64,6 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SSLSecurity.html">SSLSecurity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
@ -105,11 +105,55 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
@ -184,10 +228,11 @@
<article class="main-content">
<section class="section">
<div class="section-content">
<div class="section-content top-matter">
<h1>SocketRawView</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">final</span> <span class="kd">class</span> <span class="kt">SocketRawView</span> <span class="p">:</span> <span class="kt">NSObject</span></code></pre>
</div>
@ -210,7 +255,7 @@
<code>
<a name="/s:8SocketIO0A7RawViewC4emityySS_AA0A4Data_pdtF"></a>
<a name="//apple_ref/swift/Method/emit(_:_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A7RawViewC4emityySS_AA0A4Data_pdtF">emit(_:_:)</a>
<a class="token" href="#/s:8SocketIO0A7RawViewC4emityySS_AA0A4Data_pdtF">emit(_:<wbr>_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -271,7 +316,7 @@ will be emitted. The structure of the error data is <code>[eventName, items, the
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketRawView(im)emit:with:"></a>
<a name="//apple_ref/swift/Method/emit(_:with:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketRawView(im)emit:with:">emit(_:with:)</a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketRawView(im)emit:with:">emit(_:<wbr>with:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -330,7 +375,7 @@ will be emitted. The structure of the error data is <code>[eventName, items, the
<code>
<a name="/s:8SocketIO0A7RawViewC11emitWithAckyAA02OnG8CallbackCSS_AA0A4Data_pdtF"></a>
<a name="//apple_ref/swift/Method/emitWithAck(_:_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A7RawViewC11emitWithAckyAA02OnG8CallbackCSS_AA0A4Data_pdtF">emitWithAck(_:_:)</a>
<a class="token" href="#/s:8SocketIO0A7RawViewC11emitWithAckyAA02OnG8CallbackCSS_AA0A4Data_pdtF">emitWithAck(_:<wbr>_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -404,7 +449,7 @@ will be emitted. The structure of the error data is <code>[eventName, items, the
<code>
<a name="/c:@M@SocketIO@objc(cs)SocketRawView(im)emitWithAck:with:"></a>
<a name="//apple_ref/swift/Method/emitWithAck(_:with:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketRawView(im)emitWithAck:with:">emitWithAck(_:with:)</a>
<a class="token" href="#/c:@M@SocketIO@objc(cs)SocketRawView(im)emitWithAck:with:">emitWithAck(_:<wbr>with:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -479,8 +524,8 @@ Check that your server&rsquo;s api will ack the event being sent.</p>
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>

View File

@ -21,9 +21,9 @@
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="index.html">
SocketIO Docs
SocketIO 16.0.0 Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -50,6 +50,9 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="faq.html">FAQ</a>
</li>
@ -61,9 +64,6 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SSLSecurity.html">SSLSecurity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
@ -105,11 +105,55 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
@ -184,7 +228,7 @@
<article class="main-content">
<section class="section">
<div class="section-content">
<div class="section-content top-matter">
<h1>Enumerations</h1>
<p>The following enumerations are available globally.</p>
@ -223,10 +267,34 @@
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:8SocketIO0A9IOVersionO"></a>
<a name="//apple_ref/swift/Enum/SocketIOVersion" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A9IOVersionO">SocketIOVersion</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The socket.io version being used.</p>
<a href="Enums/SocketIOVersion.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">enum</span> <span class="kt">SocketIOVersion</span> <span class="p">:</span> <span class="kt">Int</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
@ -255,10 +323,6 @@
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<ul class="item-container">
<li class="item">
<div>
<code>
@ -287,10 +351,6 @@
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<ul class="item-container">
<li class="item">
<div>
<code>
@ -320,10 +380,6 @@
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<ul class="item-container">
<li class="item">
<div>
<code>
@ -353,10 +409,6 @@
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<ul class="item-container">
<li class="item">
<div>
<code>
@ -393,8 +445,8 @@
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>

View File

@ -21,9 +21,9 @@
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
SocketIO Docs
SocketIO 16.0.0 Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -50,6 +50,9 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../faq.html">FAQ</a>
</li>
@ -61,9 +64,6 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SSLSecurity.html">SSLSecurity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
@ -105,11 +105,55 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
@ -184,10 +228,11 @@
<article class="main-content">
<section class="section">
<div class="section-content">
<div class="section-content top-matter">
<h1>SocketAckStatus</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">enum</span> <span class="kt">SocketAckStatus</span> <span class="p">:</span> <span class="kt">String</span></code></pre>
</div>
@ -203,9 +248,11 @@
<div class="task-name-container">
<a name="/Cases"></a>
<a name="//apple_ref/swift/Section/Cases" class="dashAnchor"></a>
<a href="#/Cases">
<h3 class="section-name">Cases</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Cases"></a>
<h3 class="section-name"><p>Cases</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
@ -235,6 +282,60 @@
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:8SocketIO0A9AckStatusO2eeoiySbSS_ACtFZ"></a>
<a name="//apple_ref/swift/Method/==(_:_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A9AckStatusO2eeoiySbSS_ACtFZ">==(_:<wbr>_:<wbr>)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Tests whether a string is equal to a given SocketAckStatus</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">==</span> <span class="p">(</span><span class="nv">lhs</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">rhs</span><span class="p">:</span> <span class="kt">SocketAckStatus</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Bool</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:8SocketIO0A9AckStatusO2eeoiySbAC_SStFZ"></a>
<a name="//apple_ref/swift/Method/==(_:_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A9AckStatusO2eeoiySbAC_SStFZ">==(_:<wbr>_:<wbr>)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Tests whether a string is equal to a given SocketAckStatus</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">==</span> <span class="p">(</span><span class="nv">lhs</span><span class="p">:</span> <span class="kt">SocketAckStatus</span><span class="p">,</span> <span class="nv">rhs</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Bool</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</div>
@ -243,8 +344,8 @@
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>

View File

@ -21,9 +21,9 @@
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
SocketIO Docs
SocketIO 16.0.0 Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -50,6 +50,9 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../faq.html">FAQ</a>
</li>
@ -61,9 +64,6 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SSLSecurity.html">SSLSecurity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
@ -105,11 +105,55 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
@ -184,10 +228,11 @@
<article class="main-content">
<section class="section">
<div class="section-content">
<div class="section-content top-matter">
<h1>SocketClientEvent</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">enum</span> <span class="kt">SocketClientEvent</span> <span class="p">:</span> <span class="kt">String</span></code></pre>
</div>
@ -203,9 +248,11 @@
<div class="task-name-container">
<a name="/Cases"></a>
<a name="//apple_ref/swift/Section/Cases" class="dashAnchor"></a>
<a href="#/Cases">
<h3 class="section-name">Cases</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Cases"></a>
<h3 class="section-name"><p>Cases</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
@ -224,7 +271,7 @@
<p>Emitted when the client connects. This is also called on a successful reconnection. A connect event gets one
data item: the namespace that was connected to.</p>
<pre class="highlight swift"><code><span class="n">socket</span><span class="o">.</span><span class="nf">on</span><span class="p">(</span><span class="nv">clientEvent</span><span class="p">:</span> <span class="o">.</span><span class="n">connect</span><span class="p">)</span> <span class="p">{</span><span class="n">data</span><span class="p">,</span> <span class="n">ack</span> <span class="k">in</span>
<span class="k">guard</span> <span class="k">let</span> <span class="nv">nsp</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="k">as?</span> <span class="kt">String</span> <span class="nf">else</span> <span class="p">{</span> <span class="k">return</span> <span class="p">}</span>
<span class="k">guard</span> <span class="k">let</span> <span class="nv">nsp</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="k">as?</span> <span class="kt">String</span> <span class="k">else</span> <span class="p">{</span> <span class="k">return</span> <span class="p">}</span>
<span class="c1">// Some logic using the nsp</span>
<span class="p">}</span>
</code></pre>
@ -517,8 +564,8 @@ if you are working in Objective-C.</p>
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>

View File

@ -21,9 +21,9 @@
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
SocketIO Docs
SocketIO 16.0.0 Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -50,6 +50,9 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../faq.html">FAQ</a>
</li>
@ -61,9 +64,6 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SSLSecurity.html">SSLSecurity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
@ -105,11 +105,55 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
@ -184,10 +228,11 @@
<article class="main-content">
<section class="section">
<div class="section-content">
<div class="section-content top-matter">
<h1>SocketEnginePacketType</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">@objc</span>
<span class="kd">public</span> <span class="kd">enum</span> <span class="kt">SocketEnginePacketType</span> <span class="p">:</span> <span class="kt">Int</span></code></pre>
@ -399,8 +444,8 @@
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>

View File

@ -21,9 +21,9 @@
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
SocketIO Docs
SocketIO 16.0.0 Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -50,6 +50,9 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../faq.html">FAQ</a>
</li>
@ -61,9 +64,6 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SSLSecurity.html">SSLSecurity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
@ -105,11 +105,55 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
@ -184,10 +228,11 @@
<article class="main-content">
<section class="section">
<div class="section-content">
<div class="section-content top-matter">
<h1>SocketIOClientOption</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">enum</span> <span class="kt">SocketIOClientOption</span> <span class="p">:</span> <span class="kt">ClientOption</span></code></pre>
</div>
@ -233,7 +278,7 @@
<code>
<a name="/s:8SocketIO0A14IOClientOptionO13connectParamsyACSDySSypGcACmF"></a>
<a name="//apple_ref/swift/Element/connectParams(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO13connectParamsyACSDySSypGcACmF">connectParams(_:)</a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO13connectParamsyACSDySSypGcACmF">connectParams(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -260,7 +305,7 @@
<code>
<a name="/s:8SocketIO0A14IOClientOptionO7cookiesyACSaySo12NSHTTPCookieCGcACmF"></a>
<a name="//apple_ref/swift/Element/cookies(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO7cookiesyACSaySo12NSHTTPCookieCGcACmF">cookies(_:)</a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO7cookiesyACSaySo12NSHTTPCookieCGcACmF">cookies(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -287,7 +332,7 @@
<code>
<a name="/s:8SocketIO0A14IOClientOptionO12extraHeadersyACSDyS2SGcACmF"></a>
<a name="//apple_ref/swift/Element/extraHeaders(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO12extraHeadersyACSDyS2SGcACmF">extraHeaders(_:)</a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO12extraHeadersyACSDyS2SGcACmF">extraHeaders(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -314,7 +359,7 @@
<code>
<a name="/s:8SocketIO0A14IOClientOptionO8forceNewyACSbcACmF"></a>
<a name="//apple_ref/swift/Element/forceNew(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO8forceNewyACSbcACmF">forceNew(_:)</a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO8forceNewyACSbcACmF">forceNew(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -342,7 +387,7 @@ or when you want to be sure no state from previous engines is being carried over
<code>
<a name="/s:8SocketIO0A14IOClientOptionO12forcePollingyACSbcACmF"></a>
<a name="//apple_ref/swift/Element/forcePolling(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO12forcePollingyACSbcACmF">forcePolling(_:)</a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO12forcePollingyACSbcACmF">forcePolling(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -369,7 +414,7 @@ or when you want to be sure no state from previous engines is being carried over
<code>
<a name="/s:8SocketIO0A14IOClientOptionO15forceWebsocketsyACSbcACmF"></a>
<a name="//apple_ref/swift/Element/forceWebsockets(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO15forceWebsocketsyACSbcACmF">forceWebsockets(_:)</a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO15forceWebsocketsyACSbcACmF">forceWebsockets(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -391,12 +436,39 @@ or when you want to be sure no state from previous engines is being carried over
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:8SocketIO0A14IOClientOptionO16enableSOCKSProxyyACSbcACmF"></a>
<a name="//apple_ref/swift/Element/enableSOCKSProxy(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO16enableSOCKSProxyyACSbcACmF">enableSOCKSProxy(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>If passed <code>true</code>, the WebSocket stream will be configured with the enableSOCKSProxy <code>true</code>.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">case</span> <span class="nf">enableSOCKSProxy</span><span class="p">(</span><span class="kt">Bool</span><span class="p">)</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:8SocketIO0A14IOClientOptionO11handleQueueyACSo17OS_dispatch_queueCcACmF"></a>
<a name="//apple_ref/swift/Element/handleQueue(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO11handleQueueyACSo17OS_dispatch_queueCcACmF">handleQueue(_:)</a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO11handleQueueyACSo17OS_dispatch_queueCcACmF">handleQueue(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -426,7 +498,7 @@ called on.</p>
<code>
<a name="/s:8SocketIO0A14IOClientOptionO3logyACSbcACmF"></a>
<a name="//apple_ref/swift/Element/log(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO3logyACSbcACmF">log(_:)</a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO3logyACSbcACmF">log(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -453,7 +525,7 @@ called on.</p>
<code>
<a name="/s:8SocketIO0A14IOClientOptionO6loggeryAcA0A6Logger_pcACmF"></a>
<a name="//apple_ref/swift/Element/logger(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO6loggeryAcA0A6Logger_pcACmF">logger(_:)</a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO6loggeryAcA0A6Logger_pcACmF">logger(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -480,7 +552,7 @@ called on.</p>
<code>
<a name="/s:8SocketIO0A14IOClientOptionO4pathyACSScACmF"></a>
<a name="//apple_ref/swift/Element/path(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO4pathyACSScACmF">path(_:)</a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO4pathyACSScACmF">path(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -507,7 +579,7 @@ called on.</p>
<code>
<a name="/s:8SocketIO0A14IOClientOptionO10reconnectsyACSbcACmF"></a>
<a name="//apple_ref/swift/Element/reconnects(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO10reconnectsyACSbcACmF">reconnects(_:)</a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO10reconnectsyACSbcACmF">reconnects(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -535,7 +607,7 @@ over when reconnects happen.</p>
<code>
<a name="/s:8SocketIO0A14IOClientOptionO17reconnectAttemptsyACSicACmF"></a>
<a name="//apple_ref/swift/Element/reconnectAttempts(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO17reconnectAttemptsyACSicACmF">reconnectAttempts(_:)</a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO17reconnectAttemptsyACSicACmF">reconnectAttempts(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -562,7 +634,7 @@ over when reconnects happen.</p>
<code>
<a name="/s:8SocketIO0A14IOClientOptionO13reconnectWaityACSicACmF"></a>
<a name="//apple_ref/swift/Element/reconnectWait(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO13reconnectWaityACSicACmF">reconnectWait(_:)</a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO13reconnectWaityACSicACmF">reconnectWait(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -589,7 +661,7 @@ over when reconnects happen.</p>
<code>
<a name="/s:8SocketIO0A14IOClientOptionO16reconnectWaitMaxyACSicACmF"></a>
<a name="//apple_ref/swift/Element/reconnectWaitMax(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO16reconnectWaitMaxyACSicACmF">reconnectWaitMax(_:)</a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO16reconnectWaitMaxyACSicACmF">reconnectWaitMax(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -616,7 +688,7 @@ over when reconnects happen.</p>
<code>
<a name="/s:8SocketIO0A14IOClientOptionO19randomizationFactoryACSdcACmF"></a>
<a name="//apple_ref/swift/Element/randomizationFactor(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO19randomizationFactoryACSdcACmF">randomizationFactor(_:)</a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO19randomizationFactoryACSdcACmF">randomizationFactor(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -643,7 +715,7 @@ over when reconnects happen.</p>
<code>
<a name="/s:8SocketIO0A14IOClientOptionO6secureyACSbcACmF"></a>
<a name="//apple_ref/swift/Element/secure(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO6secureyACSbcACmF">secure(_:)</a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO6secureyACSbcACmF">secure(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -668,9 +740,9 @@ over when reconnects happen.</p>
<li class="item">
<div>
<code>
<a name="/s:8SocketIO0A14IOClientOptionO8securityyAcA11SSLSecurityCcACmF"></a>
<a name="/s:8SocketIO0A14IOClientOptionO8securityyAC10Starscream18CertificatePinning_pcACmF"></a>
<a name="//apple_ref/swift/Element/security(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO8securityyAcA11SSLSecurityCcACmF">security(_:)</a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO8securityyAC10Starscream18CertificatePinning_pcACmF">security(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -685,7 +757,7 @@ over when reconnects happen.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">case</span> <span class="nf">security</span><span class="p">(</span><span class="kt"><a href="../Classes/SSLSecurity.html">SSLSecurity</a></span><span class="p">)</span></code></pre>
<pre class="highlight swift"><code><span class="k">case</span> <span class="nf">security</span><span class="p">(</span><span class="kt">CertificatePinning</span><span class="p">)</span></code></pre>
</div>
</div>
@ -697,7 +769,7 @@ over when reconnects happen.</p>
<code>
<a name="/s:8SocketIO0A14IOClientOptionO10selfSignedyACSbcACmF"></a>
<a name="//apple_ref/swift/Element/selfSigned(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO10selfSignedyACSbcACmF">selfSigned(_:)</a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO10selfSignedyACSbcACmF">selfSigned(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -724,7 +796,7 @@ over when reconnects happen.</p>
<code>
<a name="/s:8SocketIO0A14IOClientOptionO15sessionDelegateyACSo012NSURLSessionF0_pcACmF"></a>
<a name="//apple_ref/swift/Element/sessionDelegate(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO15sessionDelegateyACSo012NSURLSessionF0_pcACmF">sessionDelegate(_:)</a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO15sessionDelegateyACSo012NSURLSessionF0_pcACmF">sessionDelegate(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -746,15 +818,44 @@ over when reconnects happen.</p>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:8SocketIO0A14IOClientOptionO7versionyAcA0A9IOVersionOcACmF"></a>
<a name="//apple_ref/swift/Element/version(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO7versionyAcA0A9IOVersionOcACmF">version(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The version of socket.io being used. This should match the server version. Default is 3.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">case</span> <span class="nf">version</span><span class="p">(</span><span class="kt"><a href="../Enums/SocketIOVersion.html">SocketIOVersion</a></span><span class="p">)</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/Properties"></a>
<a name="//apple_ref/swift/Section/Properties" class="dashAnchor"></a>
<a href="#/Properties">
<h3 class="section-name">Properties</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Properties"></a>
<h3 class="section-name"><p>Properties</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
@ -777,7 +878,7 @@ over when reconnects happen.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">description</span><span class="p">:</span> <span class="nf">String</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">description</span><span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -790,9 +891,11 @@ over when reconnects happen.</p>
<div class="task-name-container">
<a name="/Operators"></a>
<a name="//apple_ref/swift/Section/Operators" class="dashAnchor"></a>
<a href="#/Operators">
<h3 class="section-name">Operators</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Operators"></a>
<h3 class="section-name"><p>Operators</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
@ -800,7 +903,7 @@ over when reconnects happen.</p>
<code>
<a name="/s:8SocketIO0A14IOClientOptionO2eeoiySbAC_ACtFZ"></a>
<a name="//apple_ref/swift/Method/==(_:_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO2eeoiySbAC_ACtFZ">==(_:_:)</a>
<a class="token" href="#/s:8SocketIO0A14IOClientOptionO2eeoiySbAC_ACtFZ">==(_:<wbr>_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -865,8 +968,8 @@ over when reconnects happen.</p>
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>

View File

@ -21,9 +21,9 @@
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
SocketIO Docs
SocketIO 16.0.0 Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -50,6 +50,9 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../faq.html">FAQ</a>
</li>
@ -61,9 +64,6 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SSLSecurity.html">SSLSecurity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
@ -105,11 +105,55 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
@ -184,10 +228,11 @@
<article class="main-content">
<section class="section">
<div class="section-content">
<div class="section-content top-matter">
<h1>SocketIOStatus</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">@objc</span>
<span class="kd">public</span> <span class="kd">enum</span> <span class="kt">SocketIOStatus</span> <span class="p">:</span> <span class="kt">Int</span><span class="p">,</span> <span class="kt">CustomStringConvertible</span></code></pre>
@ -204,9 +249,11 @@
<div class="task-name-container">
<a name="/Cases"></a>
<a name="//apple_ref/swift/Section/Cases" class="dashAnchor"></a>
<a href="#/Cases">
<h3 class="section-name">Cases</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Cases"></a>
<h3 class="section-name"><p>Cases</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
@ -323,9 +370,11 @@
<div class="task-name-container">
<a name="/Properties"></a>
<a name="//apple_ref/swift/Section/Properties" class="dashAnchor"></a>
<a href="#/Properties">
<h3 class="section-name">Properties</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Properties"></a>
<h3 class="section-name"><p>Properties</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
@ -347,7 +396,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">active</span><span class="p">:</span> <span class="nf">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">active</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -377,7 +426,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">description</span><span class="p">:</span> <span class="nf">String</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">description</span><span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -392,8 +441,8 @@
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>

View File

@ -0,0 +1,316 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>SocketIOVersion Enumeration Reference</title>
<link rel="stylesheet" type="text/css" href="../css/jazzy.css" />
<link rel="stylesheet" type="text/css" href="../css/highlight.css" />
<meta charset="utf-8">
<script src="../js/jquery.min.js" defer></script>
<script src="../js/jazzy.js" defer></script>
<script src="../js/lunr.min.js" defer></script>
<script src="../js/typeahead.jquery.js" defer></script>
<script src="../js/jazzy.search.js" defer></script>
</head>
<body>
<a name="//apple_ref/swift/Enum/SocketIOVersion" class="dashAnchor"></a>
<a title="SocketIOVersion Enumeration Reference"></a>
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
SocketIO 16.0.0 Docs
</a>
(100% documented)
</p>
<p class="header-col--secondary">
<form role="search" action="../search.json">
<input type="text" placeholder="Search documentation" data-typeahead>
</form>
</p>
</header>
<p class="breadcrumbs">
<a class="breadcrumb" href="../index.html">SocketIO Reference</a>
<img class="carat" src="../img/carat.png" />
SocketIOVersion Enumeration Reference
</p>
<div class="content-wrapper">
<nav class="navigation">
<ul class="nav-groups">
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Guides.html">Guides</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../faq.html">FAQ</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketAnyEvent.html">SocketAnyEvent</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketEngine.html">SocketEngine</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketIOClient.html">SocketIOClient</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketManager.html">SocketManager</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketRawAckView.html">SocketRawAckView</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketRawView.html">SocketRawView</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Enums.html">Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketAckStatus.html">SocketAckStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketClientEvent.html">SocketClientEvent</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketEnginePacketType.html">SocketEnginePacketType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOClientOption.html">SocketIOClientOption</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ConfigSettable.html">ConfigSettable</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SocketData.html">SocketData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SocketDataBufferable.html">SocketDataBufferable</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SocketEngineClient.html">SocketEngineClient</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SocketEnginePollable.html">SocketEnginePollable</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SocketEngineSpec.html">SocketEngineSpec</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SocketEngineWebsocket.html">SocketEngineWebsocket</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SocketIOClientSpec.html">SocketIOClientSpec</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SocketLogger.html">SocketLogger</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SocketManagerSpec.html">SocketManagerSpec</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SocketParsable.html">SocketParsable</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/SocketEventHandler.html">SocketEventHandler</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/SocketIOClientConfiguration.html">SocketIOClientConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/SocketPacket.html">SocketPacket</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/SocketPacket/PacketType.html"> PacketType</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Typealiases.html">Type Aliases</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:8SocketIO11AckCallbacka">AckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:8SocketIO14NormalCallbacka">NormalCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:8SocketIO4Posta">Post</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section class="section">
<div class="section-content top-matter">
<h1>SocketIOVersion</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">enum</span> <span class="kt">SocketIOVersion</span> <span class="p">:</span> <span class="kt">Int</span></code></pre>
</div>
</div>
<p>The socket.io version being used.</p>
</div>
</section>
<section class="section">
<div class="section-content">
<div class="task-group">
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:8SocketIO0A9IOVersionO3twoyA2CmF"></a>
<a name="//apple_ref/swift/Element/two" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A9IOVersionO3twoyA2CmF">two</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>socket.io 2, engine.io 3</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">case</span> <span class="n">two</span> <span class="o">=</span> <span class="mi">2</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:8SocketIO0A9IOVersionO5threeyA2CmF"></a>
<a name="//apple_ref/swift/Element/three" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A9IOVersionO5threeyA2CmF">three</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>socket.io 3, engine.io 4</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">case</span> <span class="n">three</span> <span class="o">=</span> <span class="mi">3</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</div>
</section>
</article>
</div>
<section class="footer">
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>
</html>

View File

@ -21,9 +21,9 @@
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
SocketIO Docs
SocketIO 16.0.0 Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -50,6 +50,9 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../faq.html">FAQ</a>
</li>
@ -61,9 +64,6 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SSLSecurity.html">SSLSecurity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
@ -105,11 +105,55 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
@ -184,10 +228,11 @@
<article class="main-content">
<section class="section">
<div class="section-content">
<div class="section-content top-matter">
<h1>SocketParsableError</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">enum</span> <span class="kt">SocketParsableError</span> <span class="p">:</span> <span class="kt">Error</span></code></pre>
</div>
@ -203,9 +248,11 @@
<div class="task-name-container">
<a name="/Cases"></a>
<a name="//apple_ref/swift/Section/Cases" class="dashAnchor"></a>
<a href="#/Cases">
<h3 class="section-name">Cases</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Cases"></a>
<h3 class="section-name"><p>Cases</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
@ -297,8 +344,8 @@
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>

567
docs/Extensions.html Normal file
View File

@ -0,0 +1,567 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Extensions Reference</title>
<link rel="stylesheet" type="text/css" href="css/jazzy.css" />
<link rel="stylesheet" type="text/css" href="css/highlight.css" />
<meta charset="utf-8">
<script src="js/jquery.min.js" defer></script>
<script src="js/jazzy.js" defer></script>
<script src="js/lunr.min.js" defer></script>
<script src="js/typeahead.jquery.js" defer></script>
<script src="js/jazzy.search.js" defer></script>
</head>
<body>
<a name="//apple_ref/swift/Section/Extensions" class="dashAnchor"></a>
<a title="Extensions Reference"></a>
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="index.html">
SocketIO 16.0.0 Docs
</a>
(100% documented)
</p>
<p class="header-col--secondary">
<form role="search" action="search.json">
<input type="text" placeholder="Search documentation" data-typeahead>
</form>
</p>
</header>
<p class="breadcrumbs">
<a class="breadcrumb" href="index.html">SocketIO Reference</a>
<img class="carat" src="img/carat.png" />
Extensions Reference
</p>
<div class="content-wrapper">
<nav class="navigation">
<ul class="nav-groups">
<li class="nav-group-name">
<a class="nav-group-name-link" href="Guides.html">Guides</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="faq.html">FAQ</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SocketAnyEvent.html">SocketAnyEvent</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SocketEngine.html">SocketEngine</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SocketIOClient.html">SocketIOClient</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SocketManager.html">SocketManager</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SocketRawAckView.html">SocketRawAckView</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SocketRawView.html">SocketRawView</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Enums.html">Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketAckStatus.html">SocketAckStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketClientEvent.html">SocketClientEvent</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketEnginePacketType.html">SocketEnginePacketType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketIOClientOption.html">SocketIOClientOption</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/ConfigSettable.html">ConfigSettable</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SocketData.html">SocketData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SocketDataBufferable.html">SocketDataBufferable</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SocketEngineClient.html">SocketEngineClient</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SocketEnginePollable.html">SocketEnginePollable</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SocketEngineSpec.html">SocketEngineSpec</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SocketEngineWebsocket.html">SocketEngineWebsocket</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SocketIOClientSpec.html">SocketIOClientSpec</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SocketLogger.html">SocketLogger</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SocketManagerSpec.html">SocketManagerSpec</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SocketParsable.html">SocketParsable</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/SocketEventHandler.html">SocketEventHandler</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/SocketIOClientConfiguration.html">SocketIOClientConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/SocketPacket.html">SocketPacket</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/SocketPacket/PacketType.html"> PacketType</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Typealiases.html">Type Aliases</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Typealiases.html#/s:8SocketIO11AckCallbacka">AckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Typealiases.html#/s:8SocketIO14NormalCallbacka">NormalCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Typealiases.html#/s:8SocketIO4Posta">Post</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section class="section">
<div class="section-content top-matter">
<h1>Extensions</h1>
<p>The following extensions are available globally.</p>
</div>
</section>
<section class="section">
<div class="section-content">
<div class="task-group">
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:Sa"></a>
<a name="//apple_ref/swift/Extension/Array" class="dashAnchor"></a>
<a class="token" href="#/s:Sa">Array</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">extension</span> <span class="kt">Array</span> <span class="p">:</span> <span class="kt"><a href="Protocols/SocketData.html">SocketData</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:Sb"></a>
<a name="//apple_ref/swift/Extension/Bool" class="dashAnchor"></a>
<a class="token" href="#/s:Sb">Bool</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">extension</span> <span class="kt">Bool</span> <span class="p">:</span> <span class="kt"><a href="Protocols/SocketData.html">SocketData</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:SD"></a>
<a name="//apple_ref/swift/Extension/Dictionary" class="dashAnchor"></a>
<a class="token" href="#/s:SD">Dictionary</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">extension</span> <span class="kt">Dictionary</span> <span class="p">:</span> <span class="kt"><a href="Protocols/SocketData.html">SocketData</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:Sd"></a>
<a name="//apple_ref/swift/Extension/Double" class="dashAnchor"></a>
<a class="token" href="#/s:Sd">Double</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">extension</span> <span class="kt">Double</span> <span class="p">:</span> <span class="kt"><a href="Protocols/SocketData.html">SocketData</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:Si"></a>
<a name="//apple_ref/swift/Extension/Int" class="dashAnchor"></a>
<a class="token" href="#/s:Si">Int</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">extension</span> <span class="kt">Int</span> <span class="p">:</span> <span class="kt"><a href="Protocols/SocketData.html">SocketData</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)NSArray"></a>
<a name="//apple_ref/swift/Extension/NSArray" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)NSArray">NSArray</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">extension</span> <span class="kt">NSArray</span> <span class="p">:</span> <span class="kt"><a href="Protocols/SocketData.html">SocketData</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:10Foundation4DataV"></a>
<a name="//apple_ref/swift/Extension/Data" class="dashAnchor"></a>
<a class="token" href="#/s:10Foundation4DataV">Data</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">extension</span> <span class="kt">Data</span> <span class="p">:</span> <span class="kt"><a href="Protocols/SocketData.html">SocketData</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)NSData"></a>
<a name="//apple_ref/swift/Extension/NSData" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)NSData">NSData</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">extension</span> <span class="kt">NSData</span> <span class="p">:</span> <span class="kt"><a href="Protocols/SocketData.html">SocketData</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)NSDictionary"></a>
<a name="//apple_ref/swift/Extension/NSDictionary" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)NSDictionary">NSDictionary</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">extension</span> <span class="kt">NSDictionary</span> <span class="p">:</span> <span class="kt"><a href="Protocols/SocketData.html">SocketData</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)NSString"></a>
<a name="//apple_ref/swift/Extension/NSString" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)NSString">NSString</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">extension</span> <span class="kt">NSString</span> <span class="p">:</span> <span class="kt"><a href="Protocols/SocketData.html">SocketData</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)NSNull"></a>
<a name="//apple_ref/swift/Extension/NSNull" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)NSNull">NSNull</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">extension</span> <span class="kt">NSNull</span> <span class="p">:</span> <span class="kt"><a href="Protocols/SocketData.html">SocketData</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:SS"></a>
<a name="//apple_ref/swift/Extension/String" class="dashAnchor"></a>
<a class="token" href="#/s:SS">String</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">extension</span> <span class="kt">String</span> <span class="p">:</span> <span class="kt"><a href="Protocols/SocketData.html">SocketData</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</div>
</section>
</article>
</div>
<section class="footer">
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>
</html>

View File

@ -21,9 +21,9 @@
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="index.html">
SocketIO Docs
SocketIO 16.0.0 Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -50,6 +50,9 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="faq.html">FAQ</a>
</li>
@ -61,9 +64,6 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SSLSecurity.html">SSLSecurity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
@ -105,11 +105,55 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
@ -184,7 +228,7 @@
<article class="main-content">
<section class="section">
<div class="section-content">
<div class="section-content top-matter">
<h1>Guides</h1>
<p>The following guides are available globally.</p>
@ -193,14 +237,45 @@
<section class="section">
<div class="section-content">
<div class="task-group">
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/documentation.15to16"></a>
<a name="//apple_ref/swift/Guide/15to16" class="dashAnchor"></a>
<a class="direct-link" href="15to16.html">15to16</a>
</code>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/documentation.FAQ"></a>
<a name="//apple_ref/swift/Guide/FAQ" class="dashAnchor"></a>
<a class="direct-link" href="faq.html">FAQ</a>
</code>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/documentation.12to13"></a>
<a name="//apple_ref/swift/Guide/12to13" class="dashAnchor"></a>
<a class="direct-link" href="12to13.html">12to13</a>
</code>
</div>
</li>
</ul>
</div>
</div>
</section>
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>

View File

@ -21,9 +21,9 @@
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="index.html">
SocketIO Docs
SocketIO 16.0.0 Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -50,6 +50,9 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="faq.html">FAQ</a>
</li>
@ -61,9 +64,6 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SSLSecurity.html">SSLSecurity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
@ -105,11 +105,55 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
@ -184,7 +228,7 @@
<article class="main-content">
<section class="section">
<div class="section-content">
<div class="section-content top-matter">
<h1>Protocols</h1>
<p>The following protocols are available globally.</p>
@ -223,10 +267,6 @@
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<ul class="item-container">
<li class="item">
<div>
<code>
@ -255,10 +295,6 @@
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<ul class="item-container">
<li class="item">
<div>
<code>
@ -288,10 +324,6 @@
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<ul class="item-container">
<li class="item">
<div>
<code>
@ -320,16 +352,12 @@
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketEngineSpec"></a>
<a name="/s:8SocketIO0A10EngineSpecP"></a>
<a name="//apple_ref/swift/Protocol/SocketEngineSpec" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineSpec">SocketEngineSpec</a>
<a class="token" href="#/s:8SocketIO0A10EngineSpecP">SocketEngineSpec</a>
</code>
</div>
<div class="height-container">
@ -345,18 +373,13 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">@objc</span>
<span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">SocketEngineSpec</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">SocketEngineSpec</span> <span class="p">:</span> <span class="kt">AnyObject</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<ul class="item-container">
<li class="item">
<div>
<code>
@ -385,16 +408,12 @@
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketManagerSpec"></a>
<a name="/s:8SocketIO0A11ManagerSpecP"></a>
<a name="//apple_ref/swift/Protocol/SocketManagerSpec" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketManagerSpec">SocketManagerSpec</a>
<a class="token" href="#/s:8SocketIO0A11ManagerSpecP">SocketManagerSpec</a>
</code>
</div>
<div class="height-container">
@ -407,7 +426,7 @@
<p>A <code>SocketManagerSpec</code> is responsible for multiplexing multiple namespaces through a single <code><a href="Protocols/SocketEngineSpec.html">SocketEngineSpec</a></code>.</p>
<p>Example with <code><a href="Classes/SocketManager.html">SocketManager</a></code>:</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">manager</span> <span class="o">=</span> <span class="nf">SocketManager</span><span class="p">(</span><span class="nv">socketURL</span><span class="p">:</span> <span class="nf">URL</span><span class="p">(</span><span class="nv">string</span><span class="p">:</span><span class="s">"http://localhost:8080/"</span><span class="p">)</span><span class="o">!</span><span class="p">)</span>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">manager</span> <span class="o">=</span> <span class="kt">SocketManager</span><span class="p">(</span><span class="nv">socketURL</span><span class="p">:</span> <span class="kt">URL</span><span class="p">(</span><span class="nv">string</span><span class="p">:</span><span class="s">"http://localhost:8080/"</span><span class="p">)</span><span class="o">!</span><span class="p">)</span>
<span class="k">let</span> <span class="nv">defaultNamespaceSocket</span> <span class="o">=</span> <span class="n">manager</span><span class="o">.</span><span class="n">defaultSocket</span>
<span class="k">let</span> <span class="nv">swiftSocket</span> <span class="o">=</span> <span class="n">manager</span><span class="o">.</span><span class="nf">socket</span><span class="p">(</span><span class="nv">forNamespace</span><span class="p">:</span> <span class="s">"/swift"</span><span class="p">)</span>
@ -417,7 +436,7 @@
<p>Sockets created through the manager are retained by the manager. So at the very least, a single strong reference
to the manager must be maintained to keep sockets alive.</p>
<p>To disconnect a socket and remove it from the manager, either call <code><a href="Classes/SocketIOClient.html#/c:@M@SocketIO@objc(cs)SocketIOClient(im)disconnect">SocketIOClient.disconnect()</a></code> on the socket,
<p>To disconnect a socket and remove it from the manager, either call <code><a href="Classes/SocketIOClient.html#/s:8SocketIO0A8IOClientC10disconnectyyF">SocketIOClient.disconnect()</a></code> on the socket,
or call one of the <code>disconnectSocket</code> methods on this class.</p>
<a href="Protocols/SocketManagerSpec.html" class="slightly-smaller">See more</a>
@ -426,18 +445,13 @@ or call one of the <code>disconnectSocket</code> methods on this class.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">@objc</span>
<span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">SocketManagerSpec</span> <span class="p">:</span> <span class="kt">AnyObject</span><span class="p">,</span> <span class="kt"><a href="Protocols/SocketEngineClient.html">SocketEngineClient</a></span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">SocketManagerSpec</span> <span class="p">:</span> <span class="kt">AnyObject</span><span class="p">,</span> <span class="kt"><a href="Protocols/SocketEngineClient.html">SocketEngineClient</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<ul class="item-container">
<li class="item">
<div>
<code>
@ -494,10 +508,6 @@ or call one of the <code>disconnectSocket</code> methods on this class.</p>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<ul class="item-container">
<li class="item">
<div>
<code>
@ -526,10 +536,6 @@ or call one of the <code>disconnectSocket</code> methods on this class.</p>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<ul class="item-container">
<li class="item">
<div>
<code>
@ -546,16 +552,16 @@ or call one of the <code>disconnectSocket</code> methods on this class.</p>
<p>A marking protocol that says a type can be represented in a socket.io packet.</p>
<p>Example:</p>
<pre class="highlight swift"><code><span class="kd">struct</span> <span class="kt">CustomData</span> <span class="p">:</span> <span class="nf">SocketData</span> <span class="p">{</span>
<pre class="highlight swift"><code><span class="kd">struct</span> <span class="kt">CustomData</span> <span class="p">:</span> <span class="kt">SocketData</span> <span class="p">{</span>
<span class="k">let</span> <span class="nv">name</span><span class="p">:</span> <span class="kt">String</span>
<span class="k">let</span> <span class="nv">age</span><span class="p">:</span> <span class="kt">Int</span>
<span class="kd">func</span> <span class="nf">socketRepresentation</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="nf">SocketData</span> <span class="p">{</span>
<span class="kd">func</span> <span class="nf">socketRepresentation</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">SocketData</span> <span class="p">{</span>
<span class="k">return</span> <span class="p">[</span><span class="s">"name"</span><span class="p">:</span> <span class="n">name</span><span class="p">,</span> <span class="s">"age"</span><span class="p">:</span> <span class="n">age</span><span class="p">]</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="n">socket</span><span class="o">.</span><span class="nf">emit</span><span class="p">(</span><span class="s">"myEvent"</span><span class="p">,</span> <span class="nf">CustomData</span><span class="p">(</span><span class="nv">name</span><span class="p">:</span> <span class="s">"Erik"</span><span class="p">,</span> <span class="nv">age</span><span class="p">:</span> <span class="mi">24</span><span class="p">))</span>
<span class="n">socket</span><span class="o">.</span><span class="nf">emit</span><span class="p">(</span><span class="s">"myEvent"</span><span class="p">,</span> <span class="kt">CustomData</span><span class="p">(</span><span class="nv">name</span><span class="p">:</span> <span class="s">"Erik"</span><span class="p">,</span> <span class="nv">age</span><span class="p">:</span> <span class="mi">24</span><span class="p">))</span>
</code></pre>
<a href="Protocols/SocketData.html" class="slightly-smaller">See more</a>
@ -579,8 +585,8 @@ or call one of the <code>disconnectSocket</code> methods on this class.</p>
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>

View File

@ -21,9 +21,9 @@
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
SocketIO Docs
SocketIO 16.0.0 Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -50,6 +50,9 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../faq.html">FAQ</a>
</li>
@ -61,9 +64,6 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SSLSecurity.html">SSLSecurity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
@ -105,11 +105,55 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
@ -184,10 +228,11 @@
<article class="main-content">
<section class="section">
<div class="section-content">
<div class="section-content top-matter">
<h1>ConfigSettable</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">ConfigSettable</span></code></pre>
</div>
@ -203,9 +248,11 @@
<div class="task-name-container">
<a name="/Methods"></a>
<a name="//apple_ref/swift/Section/Methods" class="dashAnchor"></a>
<a href="#/Methods">
<h3 class="section-name">Methods</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Methods"></a>
<h3 class="section-name"><p>Methods</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
@ -213,7 +260,7 @@
<code>
<a name="/s:8SocketIO14ConfigSettableP10setConfigsyyAA0A21IOClientConfigurationVF"></a>
<a name="//apple_ref/swift/Method/setConfigs(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO14ConfigSettableP10setConfigsyyAA0A21IOClientConfigurationVF">setConfigs(_:)</a>
<a class="token" href="#/s:8SocketIO14ConfigSettableP10setConfigsyyAA0A21IOClientConfigurationVF">setConfigs(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -262,8 +309,8 @@
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>

View File

@ -21,9 +21,9 @@
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
SocketIO Docs
SocketIO 16.0.0 Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -50,6 +50,9 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../faq.html">FAQ</a>
</li>
@ -61,9 +64,6 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SSLSecurity.html">SSLSecurity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
@ -105,11 +105,55 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
@ -184,10 +228,11 @@
<article class="main-content">
<section class="section">
<div class="section-content">
<div class="section-content top-matter">
<h1>SocketData</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">SocketData</span></code></pre>
</div>
@ -195,16 +240,16 @@
<p>A marking protocol that says a type can be represented in a socket.io packet.</p>
<p>Example:</p>
<pre class="highlight swift"><code><span class="kd">struct</span> <span class="kt">CustomData</span> <span class="p">:</span> <span class="nf">SocketData</span> <span class="p">{</span>
<pre class="highlight swift"><code><span class="kd">struct</span> <span class="kt">CustomData</span> <span class="p">:</span> <span class="kt">SocketData</span> <span class="p">{</span>
<span class="k">let</span> <span class="nv">name</span><span class="p">:</span> <span class="kt">String</span>
<span class="k">let</span> <span class="nv">age</span><span class="p">:</span> <span class="kt">Int</span>
<span class="kd">func</span> <span class="nf">socketRepresentation</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="nf">SocketData</span> <span class="p">{</span>
<span class="kd">func</span> <span class="nf">socketRepresentation</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">SocketData</span> <span class="p">{</span>
<span class="k">return</span> <span class="p">[</span><span class="s">"name"</span><span class="p">:</span> <span class="n">name</span><span class="p">,</span> <span class="s">"age"</span><span class="p">:</span> <span class="n">age</span><span class="p">]</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="n">socket</span><span class="o">.</span><span class="nf">emit</span><span class="p">(</span><span class="s">"myEvent"</span><span class="p">,</span> <span class="nf">CustomData</span><span class="p">(</span><span class="nv">name</span><span class="p">:</span> <span class="s">"Erik"</span><span class="p">,</span> <span class="nv">age</span><span class="p">:</span> <span class="mi">24</span><span class="p">))</span>
<span class="n">socket</span><span class="o">.</span><span class="nf">emit</span><span class="p">(</span><span class="s">"myEvent"</span><span class="p">,</span> <span class="kt">CustomData</span><span class="p">(</span><span class="nv">name</span><span class="p">:</span> <span class="s">"Erik"</span><span class="p">,</span> <span class="nv">age</span><span class="p">:</span> <span class="mi">24</span><span class="p">))</span>
</code></pre>
</div>
@ -216,9 +261,11 @@
<div class="task-name-container">
<a name="/Methods"></a>
<a name="//apple_ref/swift/Section/Methods" class="dashAnchor"></a>
<a href="#/Methods">
<h3 class="section-name">Methods</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Methods"></a>
<h3 class="section-name"><p>Methods</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
@ -264,8 +311,8 @@
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>

View File

@ -21,9 +21,9 @@
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
SocketIO Docs
SocketIO 16.0.0 Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -50,6 +50,9 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../faq.html">FAQ</a>
</li>
@ -61,9 +64,6 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SSLSecurity.html">SSLSecurity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
@ -105,11 +105,55 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
@ -184,10 +228,11 @@
<article class="main-content">
<section class="section">
<div class="section-content">
<div class="section-content top-matter">
<h1>SocketDataBufferable</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">SocketDataBufferable</span> <span class="p">:</span> <span class="kt">AnyObject</span></code></pre>
</div>
@ -203,9 +248,11 @@
<div class="task-name-container">
<a name="/Properties"></a>
<a name="//apple_ref/swift/Section/Properties" class="dashAnchor"></a>
<a href="#/Properties">
<h3 class="section-name">Properties</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Properties"></a>
<h3 class="section-name"><p>Properties</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
@ -248,8 +295,8 @@ So this should ideally be an array of one packet waiting for data.</p>
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>

View File

@ -21,9 +21,9 @@
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
SocketIO Docs
SocketIO 16.0.0 Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -50,6 +50,9 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../faq.html">FAQ</a>
</li>
@ -61,9 +64,6 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SSLSecurity.html">SSLSecurity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
@ -105,11 +105,55 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
@ -184,10 +228,11 @@
<article class="main-content">
<section class="section">
<div class="section-content">
<div class="section-content top-matter">
<h1>SocketEngineClient</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">@objc</span>
<span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">SocketEngineClient</span></code></pre>
@ -204,9 +249,11 @@
<div class="task-name-container">
<a name="/Methods"></a>
<a name="//apple_ref/swift/Section/Methods" class="dashAnchor"></a>
<a href="#/Methods">
<h3 class="section-name">Methods</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Methods"></a>
<h3 class="section-name"><p>Methods</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
@ -214,7 +261,7 @@
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketEngineClient(im)engineDidErrorWithReason:"></a>
<a name="//apple_ref/swift/Method/engineDidError(reason:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineClient(im)engineDidErrorWithReason:">engineDidError(reason:)</a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineClient(im)engineDidErrorWithReason:">engineDidError(reason:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -260,7 +307,7 @@
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketEngineClient(im)engineDidCloseWithReason:"></a>
<a name="//apple_ref/swift/Method/engineDidClose(reason:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineClient(im)engineDidCloseWithReason:">engineDidClose(reason:)</a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineClient(im)engineDidCloseWithReason:">engineDidClose(reason:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -306,7 +353,7 @@
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketEngineClient(im)engineDidOpenWithReason:"></a>
<a name="//apple_ref/swift/Method/engineDidOpen(reason:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineClient(im)engineDidOpenWithReason:">engineDidOpen(reason:)</a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineClient(im)engineDidOpenWithReason:">engineDidOpen(reason:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -347,6 +394,33 @@
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketEngineClient(im)engineDidReceivePing"></a>
<a name="//apple_ref/swift/Method/engineDidReceivePing()" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineClient(im)engineDidReceivePing">engineDidReceivePing()</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Called when the engine receives a ping message. Only called in socket.io &gt;3.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">engineDidReceivePing</span><span class="p">()</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
@ -360,7 +434,7 @@
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Called when the engine receives a pong message.</p>
<p>Called when the engine receives a pong message. Only called in socket.io 2.</p>
</div>
<div class="declaration">
@ -387,7 +461,7 @@
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Called when the engine sends a ping to the server.</p>
<p>Called when the engine sends a ping to the server. Only called in socket.io 2.</p>
</div>
<div class="declaration">
@ -401,12 +475,39 @@
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketEngineClient(im)engineDidSendPong"></a>
<a name="//apple_ref/swift/Method/engineDidSendPong()" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineClient(im)engineDidSendPong">engineDidSendPong()</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Called when the engine sends a pong to the server. Only called in socket.io &gt;3.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">engineDidSendPong</span><span class="p">()</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketEngineClient(im)parseEngineMessage:"></a>
<a name="//apple_ref/swift/Method/parseEngineMessage(_:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineClient(im)parseEngineMessage:">parseEngineMessage(_:)</a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineClient(im)parseEngineMessage:">parseEngineMessage(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -452,7 +553,7 @@
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketEngineClient(im)parseEngineBinaryData:"></a>
<a name="//apple_ref/swift/Method/parseEngineBinaryData(_:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineClient(im)parseEngineBinaryData:">parseEngineBinaryData(_:)</a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineClient(im)parseEngineBinaryData:">parseEngineBinaryData(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -498,7 +599,7 @@
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketEngineClient(im)engineDidWebsocketUpgradeWithHeaders:"></a>
<a name="//apple_ref/swift/Method/engineDidWebsocketUpgrade(headers:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineClient(im)engineDidWebsocketUpgradeWithHeaders:">engineDidWebsocketUpgrade(headers:)</a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineClient(im)engineDidWebsocketUpgradeWithHeaders:">engineDidWebsocketUpgrade(headers:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -547,8 +648,8 @@
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>

View File

@ -21,9 +21,9 @@
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
SocketIO Docs
SocketIO 16.0.0 Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -50,6 +50,9 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../faq.html">FAQ</a>
</li>
@ -61,9 +64,6 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SSLSecurity.html">SSLSecurity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
@ -105,11 +105,55 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
@ -184,10 +228,11 @@
<article class="main-content">
<section class="section">
<div class="section-content">
<div class="section-content top-matter">
<h1>SocketEnginePollable</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">SocketEnginePollable</span> <span class="p">:</span> <span class="kt"><a href="../Protocols/SocketEngineSpec.html">SocketEngineSpec</a></span></code></pre>
</div>
@ -203,9 +248,11 @@
<div class="task-name-container">
<a name="/Properties"></a>
<a name="//apple_ref/swift/Section/Properties" class="dashAnchor"></a>
<a href="#/Properties">
<h3 class="section-name">Properties</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Properties"></a>
<h3 class="section-name"><p>Properties</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
@ -228,7 +275,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">invalidated</span><span class="p">:</span> <span class="nf">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">invalidated</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -284,7 +331,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">session</span><span class="p">:</span> <span class="nf">URLSession</span><span class="p">?</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">session</span><span class="p">:</span> <span class="kt">URLSession</span><span class="p">?</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -314,7 +361,7 @@ disconnect us.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">waitingForPoll</span><span class="p">:</span> <span class="nf">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">waitingForPoll</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -344,7 +391,7 @@ disconnect us.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">waitingForPost</span><span class="p">:</span> <span class="nf">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">waitingForPost</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -357,9 +404,11 @@ disconnect us.</p>
<div class="task-name-container">
<a name="/Methods"></a>
<a name="//apple_ref/swift/Section/Methods" class="dashAnchor"></a>
<a href="#/Methods">
<h3 class="section-name">Methods</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Methods"></a>
<h3 class="section-name"><p>Methods</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
@ -406,7 +455,7 @@ disconnect us.</p>
<code>
<a name="/s:8SocketIO0A14EnginePollableP15sendPollMessage_8withType0H4Data10completionySS_AA0ac6PacketI0OSay10Foundation0J0VGyycSgtF"></a>
<a name="//apple_ref/swift/Method/sendPollMessage(_:withType:withData:completion:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A14EnginePollableP15sendPollMessage_8withType0H4Data10completionySS_AA0ac6PacketI0OSay10Foundation0J0VGyycSgtF">sendPollMessage(_:withType:withData:completion:)</a>
<a class="token" href="#/s:8SocketIO0A14EnginePollableP15sendPollMessage_8withType0H4Data10completionySS_AA0ac6PacketI0OSay10Foundation0J0VGyycSgtF">sendPollMessage(_:<wbr>withType:<wbr>withData:<wbr>completion:<wbr>)</a>
</code>
<span class="declaration-note">
Default implementation
@ -526,8 +575,8 @@ disconnect us.</p>
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>

View File

@ -21,9 +21,9 @@
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
SocketIO Docs
SocketIO 16.0.0 Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -50,6 +50,9 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../faq.html">FAQ</a>
</li>
@ -61,9 +64,6 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SSLSecurity.html">SSLSecurity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
@ -105,11 +105,55 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
@ -184,12 +228,12 @@
<article class="main-content">
<section class="section">
<div class="section-content">
<div class="section-content top-matter">
<h1>SocketEngineSpec</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">@objc</span>
<span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">SocketEngineSpec</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">SocketEngineSpec</span> <span class="p">:</span> <span class="kt">AnyObject</span></code></pre>
</div>
</div>
@ -204,17 +248,19 @@
<div class="task-name-container">
<a name="/Properties"></a>
<a name="//apple_ref/swift/Section/Properties" class="dashAnchor"></a>
<a href="#/Properties">
<h3 class="section-name">Properties</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Properties"></a>
<h3 class="section-name"><p>Properties</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)client"></a>
<a name="/s:8SocketIO0A10EngineSpecP6clientAA0aC6Client_pSgvp"></a>
<a name="//apple_ref/swift/Property/client" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)client">client</a>
<a class="token" href="#/s:8SocketIO0A10EngineSpecP6clientAA0aC6Client_pSgvp">client</a>
</code>
</div>
<div class="height-container">
@ -229,7 +275,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">client</span><span class="p">:</span> <span class="nf">SocketEngineClient</span><span class="p">?</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">client</span><span class="p">:</span> <span class="kt"><a href="../Protocols/SocketEngineClient.html">SocketEngineClient</a></span><span class="p">?</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -239,9 +285,9 @@
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)closed"></a>
<a name="/s:8SocketIO0A10EngineSpecP6closedSbvp"></a>
<a name="//apple_ref/swift/Property/closed" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)closed">closed</a>
<a class="token" href="#/s:8SocketIO0A10EngineSpecP6closedSbvp">closed</a>
</code>
</div>
<div class="height-container">
@ -256,7 +302,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">closed</span><span class="p">:</span> <span class="nf">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">closed</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -266,9 +312,9 @@
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)compress"></a>
<a name="/s:8SocketIO0A10EngineSpecP8compressSbvp"></a>
<a name="//apple_ref/swift/Property/compress" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)compress">compress</a>
<a class="token" href="#/s:8SocketIO0A10EngineSpecP8compressSbvp">compress</a>
</code>
</div>
<div class="height-container">
@ -283,7 +329,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">compress</span><span class="p">:</span> <span class="nf">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">compress</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -293,9 +339,9 @@
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)connected"></a>
<a name="/s:8SocketIO0A10EngineSpecP9connectedSbvp"></a>
<a name="//apple_ref/swift/Property/connected" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)connected">connected</a>
<a class="token" href="#/s:8SocketIO0A10EngineSpecP9connectedSbvp">connected</a>
</code>
</div>
<div class="height-container">
@ -310,7 +356,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">connected</span><span class="p">:</span> <span class="nf">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">connected</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -320,9 +366,9 @@
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)connectParams"></a>
<a name="/s:8SocketIO0A10EngineSpecP13connectParamsSDySSypGSgvp"></a>
<a name="//apple_ref/swift/Property/connectParams" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)connectParams">connectParams</a>
<a class="token" href="#/s:8SocketIO0A10EngineSpecP13connectParamsSDySSypGSgvp">connectParams</a>
</code>
</div>
<div class="height-container">
@ -347,9 +393,9 @@
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)cookies"></a>
<a name="/s:8SocketIO0A10EngineSpecP7cookiesSaySo12NSHTTPCookieCGSgvp"></a>
<a name="//apple_ref/swift/Property/cookies" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)cookies">cookies</a>
<a class="token" href="#/s:8SocketIO0A10EngineSpecP7cookiesSaySo12NSHTTPCookieCGSgvp">cookies</a>
</code>
</div>
<div class="height-container">
@ -374,9 +420,9 @@
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)engineQueue"></a>
<a name="/s:8SocketIO0A10EngineSpecP11engineQueueSo17OS_dispatch_queueCvp"></a>
<a name="//apple_ref/swift/Property/engineQueue" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)engineQueue">engineQueue</a>
<a class="token" href="#/s:8SocketIO0A10EngineSpecP11engineQueueSo17OS_dispatch_queueCvp">engineQueue</a>
</code>
</div>
<div class="height-container">
@ -391,7 +437,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">engineQueue</span><span class="p">:</span> <span class="nf">DispatchQueue</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">engineQueue</span><span class="p">:</span> <span class="kt">DispatchQueue</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -401,9 +447,9 @@
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)extraHeaders"></a>
<a name="/s:8SocketIO0A10EngineSpecP12extraHeadersSDyS2SGSgvp"></a>
<a name="//apple_ref/swift/Property/extraHeaders" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)extraHeaders">extraHeaders</a>
<a class="token" href="#/s:8SocketIO0A10EngineSpecP12extraHeadersSDyS2SGSgvp">extraHeaders</a>
</code>
</div>
<div class="height-container">
@ -428,9 +474,9 @@
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)fastUpgrade"></a>
<a name="/s:8SocketIO0A10EngineSpecP11fastUpgradeSbvp"></a>
<a name="//apple_ref/swift/Property/fastUpgrade" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)fastUpgrade">fastUpgrade</a>
<a class="token" href="#/s:8SocketIO0A10EngineSpecP11fastUpgradeSbvp">fastUpgrade</a>
</code>
</div>
<div class="height-container">
@ -445,7 +491,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">fastUpgrade</span><span class="p">:</span> <span class="nf">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">fastUpgrade</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -455,9 +501,9 @@
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)forcePolling"></a>
<a name="/s:8SocketIO0A10EngineSpecP12forcePollingSbvp"></a>
<a name="//apple_ref/swift/Property/forcePolling" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)forcePolling">forcePolling</a>
<a class="token" href="#/s:8SocketIO0A10EngineSpecP12forcePollingSbvp">forcePolling</a>
</code>
</div>
<div class="height-container">
@ -472,7 +518,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">forcePolling</span><span class="p">:</span> <span class="nf">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">forcePolling</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -482,9 +528,9 @@
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)forceWebsockets"></a>
<a name="/s:8SocketIO0A10EngineSpecP15forceWebsocketsSbvp"></a>
<a name="//apple_ref/swift/Property/forceWebsockets" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)forceWebsockets">forceWebsockets</a>
<a class="token" href="#/s:8SocketIO0A10EngineSpecP15forceWebsocketsSbvp">forceWebsockets</a>
</code>
</div>
<div class="height-container">
@ -499,7 +545,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">forceWebsockets</span><span class="p">:</span> <span class="nf">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">forceWebsockets</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -509,9 +555,9 @@
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)polling"></a>
<a name="/s:8SocketIO0A10EngineSpecP7pollingSbvp"></a>
<a name="//apple_ref/swift/Property/polling" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)polling">polling</a>
<a class="token" href="#/s:8SocketIO0A10EngineSpecP7pollingSbvp">polling</a>
</code>
</div>
<div class="height-container">
@ -526,7 +572,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">polling</span><span class="p">:</span> <span class="nf">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">polling</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -536,9 +582,9 @@
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)probing"></a>
<a name="/s:8SocketIO0A10EngineSpecP7probingSbvp"></a>
<a name="//apple_ref/swift/Property/probing" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)probing">probing</a>
<a class="token" href="#/s:8SocketIO0A10EngineSpecP7probingSbvp">probing</a>
</code>
</div>
<div class="height-container">
@ -553,7 +599,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">probing</span><span class="p">:</span> <span class="nf">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">probing</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -563,9 +609,9 @@
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)sid"></a>
<a name="/s:8SocketIO0A10EngineSpecP3sidSSvp"></a>
<a name="//apple_ref/swift/Property/sid" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)sid">sid</a>
<a class="token" href="#/s:8SocketIO0A10EngineSpecP3sidSSvp">sid</a>
</code>
</div>
<div class="height-container">
@ -580,7 +626,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">sid</span><span class="p">:</span> <span class="nf">String</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">sid</span><span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -590,9 +636,9 @@
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)socketPath"></a>
<a name="/s:8SocketIO0A10EngineSpecP10socketPathSSvp"></a>
<a name="//apple_ref/swift/Property/socketPath" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)socketPath">socketPath</a>
<a class="token" href="#/s:8SocketIO0A10EngineSpecP10socketPathSSvp">socketPath</a>
</code>
</div>
<div class="height-container">
@ -607,7 +653,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">socketPath</span><span class="p">:</span> <span class="nf">String</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">socketPath</span><span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -617,9 +663,9 @@
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)urlPolling"></a>
<a name="/s:8SocketIO0A10EngineSpecP10urlPolling10Foundation3URLVvp"></a>
<a name="//apple_ref/swift/Property/urlPolling" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)urlPolling">urlPolling</a>
<a class="token" href="#/s:8SocketIO0A10EngineSpecP10urlPolling10Foundation3URLVvp">urlPolling</a>
</code>
</div>
<div class="height-container">
@ -634,7 +680,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">urlPolling</span><span class="p">:</span> <span class="nf">URL</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">urlPolling</span><span class="p">:</span> <span class="kt">URL</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -644,9 +690,9 @@
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)urlWebSocket"></a>
<a name="/s:8SocketIO0A10EngineSpecP06urlWebA010Foundation3URLVvp"></a>
<a name="//apple_ref/swift/Property/urlWebSocket" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)urlWebSocket">urlWebSocket</a>
<a class="token" href="#/s:8SocketIO0A10EngineSpecP06urlWebA010Foundation3URLVvp">urlWebSocket</a>
</code>
</div>
<div class="height-container">
@ -661,7 +707,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">urlWebSocket</span><span class="p">:</span> <span class="nf">URL</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">urlWebSocket</span><span class="p">:</span> <span class="kt">URL</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -671,9 +717,36 @@
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)websocket"></a>
<a name="/s:8SocketIO0A10EngineSpecP7versionAA0A9IOVersionOvp"></a>
<a name="//apple_ref/swift/Property/version" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A10EngineSpecP7versionAA0A9IOVersionOvp">version</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The version of engine.io being used. Default is three.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">version</span><span class="p">:</span> <span class="kt"><a href="../Enums/SocketIOVersion.html">SocketIOVersion</a></span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:8SocketIO0A10EngineSpecP9websocketSbvp"></a>
<a name="//apple_ref/swift/Property/websocket" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)websocket">websocket</a>
<a class="token" href="#/s:8SocketIO0A10EngineSpecP9websocketSbvp">websocket</a>
</code>
</div>
<div class="height-container">
@ -688,8 +761,8 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">@available(*, deprecated, message: "No longer needed, if we're not polling, then we must be doing websockets")</span>
<span class="k">var</span> <span class="nv">websocket</span><span class="p">:</span> <span class="nf">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">@available</span><span class="p">(</span><span class="o">*</span><span class="p">,</span> <span class="n">deprecated</span><span class="p">,</span> <span class="nv">message</span><span class="p">:</span> <span class="s">"No longer needed, if we're not polling, then we must be doing websockets"</span><span class="p">)</span>
<span class="k">var</span> <span class="nv">websocket</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -699,9 +772,9 @@
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)ws"></a>
<a name="/s:8SocketIO0A10EngineSpecP2ws10Starscream03WebA0CSgvp"></a>
<a name="//apple_ref/swift/Property/ws" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineSpec(py)ws">ws</a>
<a class="token" href="#/s:8SocketIO0A10EngineSpecP2ws10Starscream03WebA0CSgvp">ws</a>
</code>
</div>
<div class="height-container">
@ -716,7 +789,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">ws</span><span class="p">:</span> <span class="nf">WebSocket</span><span class="p">?</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">ws</span><span class="p">:</span> <span class="kt">WebSocket</span><span class="p">?</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -729,17 +802,19 @@
<div class="task-name-container">
<a name="/Initializers"></a>
<a name="//apple_ref/swift/Section/Initializers" class="dashAnchor"></a>
<a href="#/Initializers">
<h3 class="section-name">Initializers</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Initializers"></a>
<h3 class="section-name"><p>Initializers</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketEngineSpec(im)initWithClient:url:options:"></a>
<a name="/s:8SocketIO0A10EngineSpecP6client3url7optionsxAA0aC6Client_p_10Foundation3URLVSDySSypGSgtcfc"></a>
<a name="//apple_ref/swift/Method/init(client:url:options:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineSpec(im)initWithClient:url:options:">init(client:url:options:)</a>
<a class="token" href="#/s:8SocketIO0A10EngineSpecP6client3url7optionsxAA0aC6Client_p_10Foundation3URLVSDySSypGSgtcfc">init(client:<wbr>url:<wbr>options:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -810,17 +885,19 @@
<div class="task-name-container">
<a name="/Methods"></a>
<a name="//apple_ref/swift/Section/Methods" class="dashAnchor"></a>
<a href="#/Methods">
<h3 class="section-name">Methods</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Methods"></a>
<h3 class="section-name"><p>Methods</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketEngineSpec(im)connect"></a>
<a name="/s:8SocketIO0A10EngineSpecP7connectyyF"></a>
<a name="//apple_ref/swift/Method/connect()" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineSpec(im)connect">connect()</a>
<a class="token" href="#/s:8SocketIO0A10EngineSpecP7connectyyF">connect()</a>
</code>
</div>
<div class="height-container">
@ -845,9 +922,9 @@
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketEngineSpec(im)didErrorWithReason:"></a>
<a name="/s:8SocketIO0A10EngineSpecP8didError6reasonySS_tF"></a>
<a name="//apple_ref/swift/Method/didError(reason:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineSpec(im)didErrorWithReason:">didError(reason:)</a>
<a class="token" href="#/s:8SocketIO0A10EngineSpecP8didError6reasonySS_tF">didError(reason:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -872,9 +949,9 @@
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketEngineSpec(im)disconnectWithReason:"></a>
<a name="/s:8SocketIO0A10EngineSpecP10disconnect6reasonySS_tF"></a>
<a name="//apple_ref/swift/Method/disconnect(reason:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineSpec(im)disconnectWithReason:">disconnect(reason:)</a>
<a class="token" href="#/s:8SocketIO0A10EngineSpecP10disconnect6reasonySS_tF">disconnect(reason:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -918,9 +995,9 @@
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketEngineSpec(im)doFastUpgrade"></a>
<a name="/s:8SocketIO0A10EngineSpecP13doFastUpgradeyyF"></a>
<a name="//apple_ref/swift/Method/doFastUpgrade()" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineSpec(im)doFastUpgrade">doFastUpgrade()</a>
<a class="token" href="#/s:8SocketIO0A10EngineSpecP13doFastUpgradeyyF">doFastUpgrade()</a>
</code>
</div>
<div class="height-container">
@ -948,9 +1025,9 @@ WebSocket mode.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketEngineSpec(im)flushWaitingForPostToWebSocket"></a>
<a name="/s:8SocketIO0A10EngineSpecP024flushWaitingForPostToWebA0yyF"></a>
<a name="//apple_ref/swift/Method/flushWaitingForPostToWebSocket()" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineSpec(im)flushWaitingForPostToWebSocket">flushWaitingForPostToWebSocket()</a>
<a class="token" href="#/s:8SocketIO0A10EngineSpecP024flushWaitingForPostToWebA0yyF">flushWaitingForPostToWebSocket()</a>
</code>
</div>
<div class="height-container">
@ -978,9 +1055,9 @@ the engine is attempting to upgrade to WebSocket it does not do any POSTing.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketEngineSpec(im)parseEngineData:"></a>
<a name="/s:8SocketIO0A10EngineSpecP05parseC4Datayy10Foundation0F0VF"></a>
<a name="//apple_ref/swift/Method/parseEngineData(_:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineSpec(im)parseEngineData:">parseEngineData(_:)</a>
<a class="token" href="#/s:8SocketIO0A10EngineSpecP05parseC4Datayy10Foundation0F0VF">parseEngineData(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -1024,9 +1101,9 @@ the engine is attempting to upgrade to WebSocket it does not do any POSTing.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketEngineSpec(im)parseEngineMessage:"></a>
<a name="/s:8SocketIO0A10EngineSpecP05parseC7MessageyySSF"></a>
<a name="//apple_ref/swift/Method/parseEngineMessage(_:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineSpec(im)parseEngineMessage:">parseEngineMessage(_:)</a>
<a class="token" href="#/s:8SocketIO0A10EngineSpecP05parseC7MessageyySSF">parseEngineMessage(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -1070,9 +1147,9 @@ the engine is attempting to upgrade to WebSocket it does not do any POSTing.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketEngineSpec(im)write:withType:withData:completion:"></a>
<a name="/s:8SocketIO0A10EngineSpecP5write_8withType0F4Data10completionySS_AA0ac6PacketG0OSay10Foundation0H0VGyycSgtF"></a>
<a name="//apple_ref/swift/Method/write(_:withType:withData:completion:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketEngineSpec(im)write:withType:withData:completion:">write(_:withType:withData:completion:)</a>
<a class="token" href="#/s:8SocketIO0A10EngineSpecP5write_8withType0F4Data10completionySS_AA0ac6PacketG0OSay10Foundation0H0VGyycSgtF">write(_:<wbr>withType:<wbr>withData:<wbr>completion:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -1157,8 +1234,8 @@ the engine is attempting to upgrade to WebSocket it does not do any POSTing.</p>
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>

View File

@ -21,9 +21,9 @@
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
SocketIO Docs
SocketIO 16.0.0 Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -50,6 +50,9 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../faq.html">FAQ</a>
</li>
@ -61,9 +64,6 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SSLSecurity.html">SSLSecurity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
@ -105,11 +105,55 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
@ -184,10 +228,11 @@
<article class="main-content">
<section class="section">
<div class="section-content">
<div class="section-content top-matter">
<h1>SocketEngineWebsocket</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">SocketEngineWebsocket</span> <span class="p">:</span> <span class="kt"><a href="../Protocols/SocketEngineSpec.html">SocketEngineSpec</a></span></code></pre>
</div>
@ -199,13 +244,55 @@
<section class="section">
<div class="section-content">
<div class="task-group">
<div class="task-name-container">
<a name="/Properties"></a>
<a name="//apple_ref/swift/Section/Properties" class="dashAnchor"></a>
<div class="section-name-container">
<a class="section-name-link" href="#/Properties"></a>
<h3 class="section-name"><p>Properties</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:8SocketIO0A15EngineWebsocketP11wsConnectedSbvp"></a>
<a name="//apple_ref/swift/Property/wsConnected" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A15EngineWebsocketP11wsConnectedSbvp">wsConnected</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Whether or not the ws is connected</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">wsConnected</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/Methods"></a>
<a name="//apple_ref/swift/Section/Methods" class="dashAnchor"></a>
<a href="#/Methods">
<h3 class="section-name">Methods</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Methods"></a>
<h3 class="section-name"><p>Methods</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
@ -213,7 +300,7 @@
<code>
<a name="/s:8SocketIO0A15EngineWebsocketP07sendWebA7Message_8withType0H4Data10completionySS_AA0ac6PacketI0OSay10Foundation0J0VGyycSgtF"></a>
<a name="//apple_ref/swift/Method/sendWebSocketMessage(_:withType:withData:completion:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A15EngineWebsocketP07sendWebA7Message_8withType0H4Data10completionySS_AA0ac6PacketI0OSay10Foundation0J0VGyycSgtF">sendWebSocketMessage(_:withType:withData:completion:)</a>
<a class="token" href="#/s:8SocketIO0A15EngineWebsocketP07sendWebA7Message_8withType0H4Data10completionySS_AA0ac6PacketI0OSay10Foundation0J0VGyycSgtF">sendWebSocketMessage(_:<wbr>withType:<wbr>withData:<wbr>completion:<wbr>)</a>
</code>
<span class="declaration-note">
Default implementation
@ -240,7 +327,10 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">sendWebSocketMessage</span><span class="p">(</span><span class="n">_</span> <span class="nv">str</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="n">withType</span> <span class="nv">type</span><span class="p">:</span> <span class="kt"><a href="../Enums/SocketEnginePacketType.html">SocketEnginePacketType</a></span><span class="p">,</span> <span class="n">withData</span> <span class="nv">datas</span><span class="p">:</span> <span class="p">[</span><span class="kt">Data</span><span class="p">],</span> <span class="nv">completion</span><span class="p">:</span> <span class="p">(()</span> <span class="o">-&gt;</span> <span class="p">())?)</span></code></pre>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">sendWebSocketMessage</span><span class="p">(</span><span class="n">_</span> <span class="nv">str</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span>
<span class="n">withType</span> <span class="nv">type</span><span class="p">:</span> <span class="kt"><a href="../Enums/SocketEnginePacketType.html">SocketEnginePacketType</a></span><span class="p">,</span>
<span class="n">withData</span> <span class="nv">datas</span><span class="p">:</span> <span class="p">[</span><span class="kt">Data</span><span class="p">],</span>
<span class="nv">completion</span><span class="p">:</span> <span class="p">(()</span> <span class="o">-&gt;</span> <span class="p">())?)</span></code></pre>
</div>
</div>
@ -310,8 +400,8 @@
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>

View File

@ -21,9 +21,9 @@
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
SocketIO Docs
SocketIO 16.0.0 Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -50,6 +50,9 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../faq.html">FAQ</a>
</li>
@ -61,9 +64,6 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SSLSecurity.html">SSLSecurity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
@ -105,11 +105,55 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
@ -184,10 +228,11 @@
<article class="main-content">
<section class="section">
<div class="section-content">
<div class="section-content top-matter">
<h1>SocketIOClientSpec</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">SocketIOClientSpec</span> <span class="p">:</span> <span class="kt">AnyObject</span></code></pre>
</div>
@ -203,9 +248,11 @@
<div class="task-name-container">
<a name="/Properties"></a>
<a name="//apple_ref/swift/Section/Properties" class="dashAnchor"></a>
<a href="#/Properties">
<h3 class="section-name">Properties</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Properties"></a>
<h3 class="section-name"><p>Properties</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
@ -282,7 +329,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">manager</span><span class="p">:</span> <span class="nf">SocketManagerSpec</span><span class="p">?</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">manager</span><span class="p">:</span> <span class="kt"><a href="../Protocols/SocketManagerSpec.html">SocketManagerSpec</a></span><span class="p">?</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -311,7 +358,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">nsp</span><span class="p">:</span> <span class="nf">String</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">nsp</span><span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -344,7 +391,34 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">rawEmitView</span><span class="p">:</span> <span class="nf">SocketRawView</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">rawEmitView</span><span class="p">:</span> <span class="kt"><a href="../Classes/SocketRawView.html">SocketRawView</a></span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:8SocketIO0A12IOClientSpecP3sidSSSgvp"></a>
<a name="//apple_ref/swift/Property/sid" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP3sidSSSgvp">sid</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The id of this socket.io connect. This is different from the sid of the engine.io connection.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">sid</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -371,7 +445,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">status</span><span class="p">:</span> <span class="nf">SocketIOStatus</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">status</span><span class="p">:</span> <span class="kt"><a href="../Enums/SocketIOStatus.html">SocketIOStatus</a></span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -384,17 +458,19 @@
<div class="task-name-container">
<a name="/Methods"></a>
<a name="//apple_ref/swift/Section/Methods" class="dashAnchor"></a>
<a href="#/Methods">
<h3 class="section-name">Methods</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Methods"></a>
<h3 class="section-name"><p>Methods</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:8SocketIO0A12IOClientSpecP7connectyyF"></a>
<a name="//apple_ref/swift/Method/connect()" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP7connectyyF">connect()</a>
<a name="/s:8SocketIO0A12IOClientSpecP7connect11withPayloadySDySSypGSg_tF"></a>
<a name="//apple_ref/swift/Method/connect(withPayload:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP7connect11withPayloadySDySSypGSg_tF">connect(withPayload:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -402,7 +478,7 @@
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Connect to the server. The same as calling <code><a href="../Protocols/SocketIOClientSpec.html#/s:8SocketIO0A12IOClientSpecP7connect12timeoutAfter11withHandlerySd_yycSgtF">connect(timeoutAfter:withHandler:)</a></code> with a timeout of 0.</p>
<p>Connect to the server. The same as calling <code>connect(timeoutAfter:withHandler:)</code> with a timeout of 0.</p>
<p>Only call after adding your event listeners, unless you know what you&rsquo;re doing.</p>
@ -411,19 +487,38 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">connect</span><span class="p">()</span></code></pre>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">connect</span><span class="p">(</span><span class="n">withPayload</span> <span class="nv">payload</span><span class="p">:</span> <span class="p">[</span><span class="kt">String</span> <span class="p">:</span> <span class="kt">Any</span><span class="p">]?)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>payload</em>
</code>
</td>
<td>
<div>
<p>An optional payload sent on connect</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:8SocketIO0A12IOClientSpecP7connect12timeoutAfter11withHandlerySd_yycSgtF"></a>
<a name="//apple_ref/swift/Method/connect(timeoutAfter:withHandler:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP7connect12timeoutAfter11withHandlerySd_yycSgtF">connect(timeoutAfter:withHandler:)</a>
<a name="/s:8SocketIO0A12IOClientSpecP7connect11withPayload12timeoutAfter0F7HandlerySDySSypGSg_SdyycSgtF"></a>
<a name="//apple_ref/swift/Method/connect(withPayload:timeoutAfter:withHandler:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP7connect11withPayload12timeoutAfter0F7HandlerySDySSypGSg_SdyycSgtF">connect(withPayload:<wbr>timeoutAfter:<wbr>withHandler:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -440,7 +535,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">connect</span><span class="p">(</span><span class="nv">timeoutAfter</span><span class="p">:</span> <span class="kt">Double</span><span class="p">,</span> <span class="n">withHandler</span> <span class="nv">handler</span><span class="p">:</span> <span class="p">(()</span> <span class="o">-&gt;</span> <span class="p">())?)</span></code></pre>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">connect</span><span class="p">(</span><span class="n">withPayload</span> <span class="nv">payload</span><span class="p">:</span> <span class="p">[</span><span class="kt">String</span> <span class="p">:</span> <span class="kt">Any</span><span class="p">]?,</span> <span class="nv">timeoutAfter</span><span class="p">:</span> <span class="kt">Double</span><span class="p">,</span> <span class="n">withHandler</span> <span class="nv">handler</span><span class="p">:</span> <span class="p">(()</span> <span class="o">-&gt;</span> <span class="p">())?)</span></code></pre>
</div>
</div>
@ -448,6 +543,18 @@
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>withPayload</em>
</code>
</td>
<td>
<div>
<p>An optional payload sent on connect</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
@ -482,9 +589,9 @@
<li class="item">
<div>
<code>
<a name="/s:8SocketIO0A12IOClientSpecP10didConnect11toNamespaceySS_tF"></a>
<a name="//apple_ref/swift/Method/didConnect(toNamespace:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP10didConnect11toNamespaceySS_tF">didConnect(toNamespace:)</a>
<a name="/s:8SocketIO0A12IOClientSpecP10didConnect11toNamespace7payloadySS_SDySSypGSgtF"></a>
<a name="//apple_ref/swift/Method/didConnect(toNamespace:payload:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP10didConnect11toNamespace7payloadySS_SDySSypGSgtF">didConnect(toNamespace:<wbr>payload:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -500,7 +607,7 @@ then this is only called when the client connects to that namespace.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">didConnect</span><span class="p">(</span><span class="n">toNamespace</span> <span class="nv">namespace</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span></code></pre>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">didConnect</span><span class="p">(</span><span class="n">toNamespace</span> <span class="nv">namespace</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">payload</span><span class="p">:</span> <span class="p">[</span><span class="kt">String</span> <span class="p">:</span> <span class="kt">Any</span><span class="p">]?)</span></code></pre>
</div>
</div>
@ -531,7 +638,7 @@ then this is only called when the client connects to that namespace.</p>
<code>
<a name="/s:8SocketIO0A12IOClientSpecP13didDisconnect6reasonySS_tF"></a>
<a name="//apple_ref/swift/Method/didDisconnect(reason:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP13didDisconnect6reasonySS_tF">didDisconnect(reason:)</a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP13didDisconnect6reasonySS_tF">didDisconnect(reason:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -577,7 +684,7 @@ then this is only called when the client connects to that namespace.</p>
<code>
<a name="/s:8SocketIO0A12IOClientSpecP8didError6reasonySS_tF"></a>
<a name="//apple_ref/swift/Method/didError(reason:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP8didError6reasonySS_tF">didError(reason:)</a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP8didError6reasonySS_tF">didError(reason:<wbr>)</a>
</code>
<span class="declaration-note">
Default implementation
@ -658,7 +765,7 @@ then this is only called when the client connects to that namespace.</p>
<code>
<a name="/s:8SocketIO0A12IOClientSpecP4emit__10completionySS_AA0A4Data_pdyycSgtF"></a>
<a name="//apple_ref/swift/Method/emit(_:_:completion:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP4emit__10completionySS_AA0A4Data_pdyycSgtF">emit(_:_:completion:)</a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP4emit__10completionySS_AA0A4Data_pdyycSgtF">emit(_:<wbr>_:<wbr>completion:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -731,7 +838,7 @@ will be emitted. The structure of the error data is <code>[eventName, items, the
<code>
<a name="/s:8SocketIO0A12IOClientSpecP7emitAck_4withySi_SayypGtF"></a>
<a name="//apple_ref/swift/Method/emitAck(_:with:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP7emitAck_4withySi_SayypGtF">emitAck(_:with:)</a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP7emitAck_4withySi_SayypGtF">emitAck(_:<wbr>with:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -789,7 +896,7 @@ will be emitted. The structure of the error data is <code>[eventName, items, the
<code>
<a name="/s:8SocketIO0A12IOClientSpecP11emitWithAckyAA02OnG8CallbackCSS_AA0A4Data_pdtF"></a>
<a name="//apple_ref/swift/Method/emitWithAck(_:_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP11emitWithAckyAA02OnG8CallbackCSS_AA0A4Data_pdtF">emitWithAck(_:_:)</a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP11emitWithAckyAA02OnG8CallbackCSS_AA0A4Data_pdtF">emitWithAck(_:<wbr>_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -863,7 +970,7 @@ will be emitted. The structure of the error data is <code>[eventName, items, the
<code>
<a name="/s:8SocketIO0A12IOClientSpecP9handleAck_4dataySi_SayypGtF"></a>
<a name="//apple_ref/swift/Method/handleAck(_:data:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP9handleAck_4dataySi_SayypGtF">handleAck(_:data:)</a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP9handleAck_4dataySi_SayypGtF">handleAck(_:<wbr>data:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -921,7 +1028,7 @@ will be emitted. The structure of the error data is <code>[eventName, items, the
<code>
<a name="/s:8SocketIO0A12IOClientSpecP17handleClientEvent_4datayAA0afG0O_SayypGtF"></a>
<a name="//apple_ref/swift/Method/handleClientEvent(_:data:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP17handleClientEvent_4datayAA0afG0O_SayypGtF">handleClientEvent(_:data:)</a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP17handleClientEvent_4datayAA0afG0O_SayypGtF">handleClientEvent(_:<wbr>data:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -979,7 +1086,7 @@ will be emitted. The structure of the error data is <code>[eventName, items, the
<code>
<a name="/s:8SocketIO0A12IOClientSpecP11handleEvent_4data17isInternalMessage7withAckySS_SayypGSbSitF"></a>
<a name="//apple_ref/swift/Method/handleEvent(_:data:isInternalMessage:withAck:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP11handleEvent_4data17isInternalMessage7withAckySS_SayypGSbSitF">handleEvent(_:data:isInternalMessage:withAck:)</a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP11handleEvent_4data17isInternalMessage7withAckySS_SayypGSbSitF">handleEvent(_:<wbr>data:<wbr>isInternalMessage:<wbr>withAck:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -1061,7 +1168,7 @@ will be emitted. The structure of the error data is <code>[eventName, items, the
<code>
<a name="/s:8SocketIO0A12IOClientSpecP12handlePacketyyAA0aF0VF"></a>
<a name="//apple_ref/swift/Method/handlePacket(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP12handlePacketyyAA0aF0VF">handlePacket(_:)</a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP12handlePacketyyAA0aF0VF">handlePacket(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -1133,9 +1240,9 @@ socket.</p>
<li class="item">
<div>
<code>
<a name="/s:8SocketIO0A12IOClientSpecP13joinNamespaceyyF"></a>
<a name="//apple_ref/swift/Method/joinNamespace()" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP13joinNamespaceyyF">joinNamespace()</a>
<a name="/s:8SocketIO0A12IOClientSpecP13joinNamespace11withPayloadySDySSypGSg_tF"></a>
<a name="//apple_ref/swift/Method/joinNamespace(withPayload:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP13joinNamespace11withPayloadySDySSypGSg_tF">joinNamespace(withPayload:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -1143,17 +1250,36 @@ socket.</p>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Joins <code><a href="../Protocols/SocketIOClientSpec.html#/s:8SocketIO0A12IOClientSpecP3nspSSvp">nsp</a></code>.</p>
<p>Joins <code><a href="../Protocols/SocketIOClientSpec.html#/s:8SocketIO0A12IOClientSpecP3nspSSvp">nsp</a></code>. You shouldn&rsquo;t need to call this directly, instead call <code>connect</code>.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">joinNamespace</span><span class="p">()</span></code></pre>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">joinNamespace</span><span class="p">(</span><span class="n">withPayload</span> <span class="nv">payload</span><span class="p">:</span> <span class="p">[</span><span class="kt">String</span> <span class="p">:</span> <span class="kt">Any</span><span class="p">]?)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>withPayload</em>
</code>
</td>
<td>
<div>
<p>The payload to connect when joining this namespace</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
@ -1162,7 +1288,7 @@ socket.</p>
<code>
<a name="/s:8SocketIO0A12IOClientSpecP3off11clientEventyAA0a6ClientG0O_tF"></a>
<a name="//apple_ref/swift/Method/off(clientEvent:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP3off11clientEventyAA0a6ClientG0O_tF">off(clientEvent:)</a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP3off11clientEventyAA0a6ClientG0O_tF">off(clientEvent:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -1210,7 +1336,7 @@ socket.</p>
<code>
<a name="/s:8SocketIO0A12IOClientSpecP3offyySSF"></a>
<a name="//apple_ref/swift/Method/off(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP3offyySSF">off(_:)</a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP3offyySSF">off(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -1258,7 +1384,7 @@ socket.</p>
<code>
<a name="/s:8SocketIO0A12IOClientSpecP3off2idy10Foundation4UUIDV_tF"></a>
<a name="//apple_ref/swift/Method/off(id:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP3off2idy10Foundation4UUIDV_tF">off(id:)</a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP3off2idy10Foundation4UUIDV_tF">off(id:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -1306,7 +1432,7 @@ socket.</p>
<code>
<a name="/s:8SocketIO0A12IOClientSpecP2on_8callback10Foundation4UUIDVSS_ySayypG_AA0A10AckEmitterCtctF"></a>
<a name="//apple_ref/swift/Method/on(_:callback:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP2on_8callback10Foundation4UUIDVSS_ySayypG_AA0A10AckEmitterCtctF">on(_:callback:)</a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP2on_8callback10Foundation4UUIDVSS_ySayypG_AA0A10AckEmitterCtctF">on(_:<wbr>callback:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -1368,7 +1494,7 @@ socket.</p>
<code>
<a name="/s:8SocketIO0A12IOClientSpecP2on11clientEvent8callback10Foundation4UUIDVAA0a6ClientG0O_ySayypG_AA0A10AckEmitterCtctF"></a>
<a name="//apple_ref/swift/Method/on(clientEvent:callback:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP2on11clientEvent8callback10Foundation4UUIDVAA0a6ClientG0O_ySayypG_AA0A10AckEmitterCtctF">on(clientEvent:callback:)</a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP2on11clientEvent8callback10Foundation4UUIDVAA0a6ClientG0O_ySayypG_AA0A10AckEmitterCtctF">on(clientEvent:<wbr>callback:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -1436,7 +1562,7 @@ socket.</p>
<code>
<a name="/s:8SocketIO0A12IOClientSpecP4once11clientEvent8callback10Foundation4UUIDVAA0a6ClientG0O_ySayypG_AA0A10AckEmitterCtctF"></a>
<a name="//apple_ref/swift/Method/once(clientEvent:callback:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP4once11clientEvent8callback10Foundation4UUIDVAA0a6ClientG0O_ySayypG_AA0A10AckEmitterCtctF">once(clientEvent:callback:)</a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP4once11clientEvent8callback10Foundation4UUIDVAA0a6ClientG0O_ySayypG_AA0A10AckEmitterCtctF">once(clientEvent:<wbr>callback:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -1498,7 +1624,7 @@ socket.</p>
<code>
<a name="/s:8SocketIO0A12IOClientSpecP4once_8callback10Foundation4UUIDVSS_ySayypG_AA0A10AckEmitterCtctF"></a>
<a name="//apple_ref/swift/Method/once(_:callback:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP4once_8callback10Foundation4UUIDVSS_ySayypG_AA0A10AckEmitterCtctF">once(_:callback:)</a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP4once_8callback10Foundation4UUIDVSS_ySayypG_AA0A10AckEmitterCtctF">once(_:<wbr>callback:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -1560,7 +1686,7 @@ socket.</p>
<code>
<a name="/s:8SocketIO0A12IOClientSpecP5onAnyyyyAA0aF5EventCcF"></a>
<a name="//apple_ref/swift/Method/onAny(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP5onAnyyyyAA0aF5EventCcF">onAny(_:)</a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP5onAnyyyyAA0aF5EventCcF">onAny(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -1635,7 +1761,7 @@ socket.</p>
<code>
<a name="/s:8SocketIO0A12IOClientSpecP15setReconnecting6reasonySS_tF"></a>
<a name="//apple_ref/swift/Method/setReconnecting(reason:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP15setReconnecting6reasonySS_tF">setReconnecting(reason:)</a>
<a class="token" href="#/s:8SocketIO0A12IOClientSpecP15setReconnecting6reasonySS_tF">setReconnecting(reason:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -1668,8 +1794,8 @@ Called when the manager detects a broken connection, or when a manual reconnect
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>

View File

@ -21,9 +21,9 @@
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
SocketIO Docs
SocketIO 16.0.0 Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -50,6 +50,9 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../faq.html">FAQ</a>
</li>
@ -61,9 +64,6 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SSLSecurity.html">SSLSecurity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
@ -105,11 +105,55 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
@ -184,10 +228,11 @@
<article class="main-content">
<section class="section">
<div class="section-content">
<div class="section-content top-matter">
<h1>SocketLogger</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">SocketLogger</span> <span class="p">:</span> <span class="kt">AnyObject</span></code></pre>
</div>
@ -203,9 +248,11 @@
<div class="task-name-container">
<a name="/Properties"></a>
<a name="//apple_ref/swift/Section/Properties" class="dashAnchor"></a>
<a href="#/Properties">
<h3 class="section-name">Properties</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Properties"></a>
<h3 class="section-name"><p>Properties</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
@ -228,7 +275,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">log</span><span class="p">:</span> <span class="nf">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">log</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -241,9 +288,11 @@
<div class="task-name-container">
<a name="/Methods"></a>
<a name="//apple_ref/swift/Section/Methods" class="dashAnchor"></a>
<a href="#/Methods">
<h3 class="section-name">Methods</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Methods"></a>
<h3 class="section-name"><p>Methods</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
@ -251,7 +300,7 @@
<code>
<a name="/s:8SocketIO0A6LoggerP3log_4typeySSyXK_SStF"></a>
<a name="//apple_ref/swift/Method/log(_:type:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A6LoggerP3log_4typeySSyXK_SStF">log(_:type:)</a>
<a class="token" href="#/s:8SocketIO0A6LoggerP3log_4typeySSyXK_SStF">log(_:<wbr>type:<wbr>)</a>
</code>
<span class="declaration-note">
Default implementation
@ -329,7 +378,7 @@
<code>
<a name="/s:8SocketIO0A6LoggerP5error_4typeySSyXK_SStF"></a>
<a name="//apple_ref/swift/Method/error(_:type:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A6LoggerP5error_4typeySSyXK_SStF">error(_:type:)</a>
<a class="token" href="#/s:8SocketIO0A6LoggerP5error_4typeySSyXK_SStF">error(_:<wbr>type:<wbr>)</a>
</code>
<span class="declaration-note">
Default implementation
@ -410,8 +459,8 @@
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>

View File

@ -21,9 +21,9 @@
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
SocketIO Docs
SocketIO 16.0.0 Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -50,6 +50,9 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../faq.html">FAQ</a>
</li>
@ -61,9 +64,6 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SSLSecurity.html">SSLSecurity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
@ -105,11 +105,55 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
@ -184,12 +228,12 @@
<article class="main-content">
<section class="section">
<div class="section-content">
<div class="section-content top-matter">
<h1>SocketManagerSpec</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">@objc</span>
<span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">SocketManagerSpec</span> <span class="p">:</span> <span class="kt">AnyObject</span><span class="p">,</span> <span class="kt"><a href="../Protocols/SocketEngineClient.html">SocketEngineClient</a></span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">SocketManagerSpec</span> <span class="p">:</span> <span class="kt">AnyObject</span><span class="p">,</span> <span class="kt"><a href="../Protocols/SocketEngineClient.html">SocketEngineClient</a></span></code></pre>
</div>
</div>
@ -198,7 +242,7 @@
<p>A <code>SocketManagerSpec</code> is responsible for multiplexing multiple namespaces through a single <code><a href="../Protocols/SocketEngineSpec.html">SocketEngineSpec</a></code>.</p>
<p>Example with <code><a href="../Classes/SocketManager.html">SocketManager</a></code>:</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">manager</span> <span class="o">=</span> <span class="nf">SocketManager</span><span class="p">(</span><span class="nv">socketURL</span><span class="p">:</span> <span class="nf">URL</span><span class="p">(</span><span class="nv">string</span><span class="p">:</span><span class="s">"http://localhost:8080/"</span><span class="p">)</span><span class="o">!</span><span class="p">)</span>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">manager</span> <span class="o">=</span> <span class="kt">SocketManager</span><span class="p">(</span><span class="nv">socketURL</span><span class="p">:</span> <span class="kt">URL</span><span class="p">(</span><span class="nv">string</span><span class="p">:</span><span class="s">"http://localhost:8080/"</span><span class="p">)</span><span class="o">!</span><span class="p">)</span>
<span class="k">let</span> <span class="nv">defaultNamespaceSocket</span> <span class="o">=</span> <span class="n">manager</span><span class="o">.</span><span class="n">defaultSocket</span>
<span class="k">let</span> <span class="nv">swiftSocket</span> <span class="o">=</span> <span class="n">manager</span><span class="o">.</span><span class="nf">socket</span><span class="p">(</span><span class="nv">forNamespace</span><span class="p">:</span> <span class="s">"/swift"</span><span class="p">)</span>
@ -208,7 +252,7 @@
<p>Sockets created through the manager are retained by the manager. So at the very least, a single strong reference
to the manager must be maintained to keep sockets alive.</p>
<p>To disconnect a socket and remove it from the manager, either call <code><a href="../Classes/SocketIOClient.html#/c:@M@SocketIO@objc(cs)SocketIOClient(im)disconnect">SocketIOClient.disconnect()</a></code> on the socket,
<p>To disconnect a socket and remove it from the manager, either call <code><a href="../Classes/SocketIOClient.html#/s:8SocketIO0A8IOClientC10disconnectyyF">SocketIOClient.disconnect()</a></code> on the socket,
or call one of the <code>disconnectSocket</code> methods on this class.</p>
</div>
@ -220,17 +264,19 @@ or call one of the <code>disconnectSocket</code> methods on this class.</p>
<div class="task-name-container">
<a name="/Properties"></a>
<a name="//apple_ref/swift/Section/Properties" class="dashAnchor"></a>
<a href="#/Properties">
<h3 class="section-name">Properties</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Properties"></a>
<h3 class="section-name"><p>Properties</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketManagerSpec(py)defaultSocket"></a>
<a name="/s:8SocketIO0A11ManagerSpecP07defaultA0AA0A8IOClientCvp"></a>
<a name="//apple_ref/swift/Property/defaultSocket" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketManagerSpec(py)defaultSocket">defaultSocket</a>
<a class="token" href="#/s:8SocketIO0A11ManagerSpecP07defaultA0AA0A8IOClientCvp">defaultSocket</a>
</code>
</div>
<div class="height-container">
@ -238,14 +284,14 @@ or call one of the <code>disconnectSocket</code> methods on this class.</p>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Returns the socket associated with the default namespace (<q>/</q>).</p>
<p>Returns the socket associated with the default namespace (&ldquo;/&rdquo;).</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">defaultSocket</span><span class="p">:</span> <span class="nf">SocketIOClient</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">defaultSocket</span><span class="p">:</span> <span class="kt"><a href="../Classes/SocketIOClient.html">SocketIOClient</a></span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -255,9 +301,9 @@ or call one of the <code>disconnectSocket</code> methods on this class.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketManagerSpec(py)engine"></a>
<a name="/s:8SocketIO0A11ManagerSpecP6engineAA0a6EngineD0_pSgvp"></a>
<a name="//apple_ref/swift/Property/engine" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketManagerSpec(py)engine">engine</a>
<a class="token" href="#/s:8SocketIO0A11ManagerSpecP6engineAA0a6EngineD0_pSgvp">engine</a>
</code>
</div>
<div class="height-container">
@ -272,7 +318,7 @@ or call one of the <code>disconnectSocket</code> methods on this class.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">engine</span><span class="p">:</span> <span class="nf">SocketEngineSpec</span><span class="p">?</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">engine</span><span class="p">:</span> <span class="kt"><a href="../Protocols/SocketEngineSpec.html">SocketEngineSpec</a></span><span class="p">?</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -282,9 +328,9 @@ or call one of the <code>disconnectSocket</code> methods on this class.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketManagerSpec(py)forceNew"></a>
<a name="/s:8SocketIO0A11ManagerSpecP8forceNewSbvp"></a>
<a name="//apple_ref/swift/Property/forceNew" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketManagerSpec(py)forceNew">forceNew</a>
<a class="token" href="#/s:8SocketIO0A11ManagerSpecP8forceNewSbvp">forceNew</a>
</code>
</div>
<div class="height-container">
@ -299,7 +345,7 @@ or call one of the <code>disconnectSocket</code> methods on this class.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">forceNew</span><span class="p">:</span> <span class="nf">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">forceNew</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -309,9 +355,9 @@ or call one of the <code>disconnectSocket</code> methods on this class.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketManagerSpec(py)handleQueue"></a>
<a name="/s:8SocketIO0A11ManagerSpecP11handleQueueSo17OS_dispatch_queueCvp"></a>
<a name="//apple_ref/swift/Property/handleQueue" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketManagerSpec(py)handleQueue">handleQueue</a>
<a class="token" href="#/s:8SocketIO0A11ManagerSpecP11handleQueueSo17OS_dispatch_queueCvp">handleQueue</a>
</code>
</div>
<div class="height-container">
@ -327,7 +373,7 @@ called on.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">handleQueue</span><span class="p">:</span> <span class="nf">DispatchQueue</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">handleQueue</span><span class="p">:</span> <span class="kt">DispatchQueue</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -337,9 +383,9 @@ called on.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketManagerSpec(py)nsps"></a>
<a name="/s:8SocketIO0A11ManagerSpecP4nspsSDySSAA0A8IOClientCGvp"></a>
<a name="//apple_ref/swift/Property/nsps" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketManagerSpec(py)nsps">nsps</a>
<a class="token" href="#/s:8SocketIO0A11ManagerSpecP4nspsSDySSAA0A8IOClientCGvp">nsps</a>
</code>
</div>
<div class="height-container">
@ -364,9 +410,9 @@ called on.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketManagerSpec(py)reconnects"></a>
<a name="/s:8SocketIO0A11ManagerSpecP10reconnectsSbvp"></a>
<a name="//apple_ref/swift/Property/reconnects" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketManagerSpec(py)reconnects">reconnects</a>
<a class="token" href="#/s:8SocketIO0A11ManagerSpecP10reconnectsSbvp">reconnects</a>
</code>
</div>
<div class="height-container">
@ -381,7 +427,7 @@ called on.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">reconnects</span><span class="p">:</span> <span class="nf">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">reconnects</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -391,9 +437,9 @@ called on.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketManagerSpec(py)reconnectWait"></a>
<a name="/s:8SocketIO0A11ManagerSpecP13reconnectWaitSivp"></a>
<a name="//apple_ref/swift/Property/reconnectWait" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketManagerSpec(py)reconnectWait">reconnectWait</a>
<a class="token" href="#/s:8SocketIO0A11ManagerSpecP13reconnectWaitSivp">reconnectWait</a>
</code>
</div>
<div class="height-container">
@ -408,7 +454,7 @@ called on.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">reconnectWait</span><span class="p">:</span> <span class="nf">Int</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">reconnectWait</span><span class="p">:</span> <span class="kt">Int</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -418,9 +464,9 @@ called on.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketManagerSpec(py)reconnectWaitMax"></a>
<a name="/s:8SocketIO0A11ManagerSpecP16reconnectWaitMaxSivp"></a>
<a name="//apple_ref/swift/Property/reconnectWaitMax" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketManagerSpec(py)reconnectWaitMax">reconnectWaitMax</a>
<a class="token" href="#/s:8SocketIO0A11ManagerSpecP16reconnectWaitMaxSivp">reconnectWaitMax</a>
</code>
</div>
<div class="height-container">
@ -435,7 +481,7 @@ called on.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">reconnectWaitMax</span><span class="p">:</span> <span class="nf">Int</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">reconnectWaitMax</span><span class="p">:</span> <span class="kt">Int</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -445,9 +491,9 @@ called on.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketManagerSpec(py)randomizationFactor"></a>
<a name="/s:8SocketIO0A11ManagerSpecP19randomizationFactorSdvp"></a>
<a name="//apple_ref/swift/Property/randomizationFactor" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketManagerSpec(py)randomizationFactor">randomizationFactor</a>
<a class="token" href="#/s:8SocketIO0A11ManagerSpecP19randomizationFactorSdvp">randomizationFactor</a>
</code>
</div>
<div class="height-container">
@ -462,7 +508,7 @@ called on.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">randomizationFactor</span><span class="p">:</span> <span class="nf">Double</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">randomizationFactor</span><span class="p">:</span> <span class="kt">Double</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -472,9 +518,9 @@ called on.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketManagerSpec(py)socketURL"></a>
<a name="/s:8SocketIO0A11ManagerSpecP9socketURL10Foundation0F0Vvp"></a>
<a name="//apple_ref/swift/Property/socketURL" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketManagerSpec(py)socketURL">socketURL</a>
<a class="token" href="#/s:8SocketIO0A11ManagerSpecP9socketURL10Foundation0F0Vvp">socketURL</a>
</code>
</div>
<div class="height-container">
@ -489,7 +535,7 @@ called on.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">socketURL</span><span class="p">:</span> <span class="nf">URL</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">socketURL</span><span class="p">:</span> <span class="kt">URL</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -499,9 +545,9 @@ called on.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketManagerSpec(py)status"></a>
<a name="/s:8SocketIO0A11ManagerSpecP6statusAA0A8IOStatusOvp"></a>
<a name="//apple_ref/swift/Property/status" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketManagerSpec(py)status">status</a>
<a class="token" href="#/s:8SocketIO0A11ManagerSpecP6statusAA0A8IOStatusOvp">status</a>
</code>
</div>
<div class="height-container">
@ -516,7 +562,34 @@ called on.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">status</span><span class="p">:</span> <span class="nf">SocketIOStatus</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">status</span><span class="p">:</span> <span class="kt"><a href="../Enums/SocketIOStatus.html">SocketIOStatus</a></span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:8SocketIO0A11ManagerSpecP7versionAA0A9IOVersionOvp"></a>
<a name="//apple_ref/swift/Property/version" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A11ManagerSpecP7versionAA0A9IOVersionOvp">version</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The version of socket.io in use.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">version</span><span class="p">:</span> <span class="kt"><a href="../Enums/SocketIOVersion.html">SocketIOVersion</a></span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -529,17 +602,19 @@ called on.</p>
<div class="task-name-container">
<a name="/Methods"></a>
<a name="//apple_ref/swift/Section/Methods" class="dashAnchor"></a>
<a href="#/Methods">
<h3 class="section-name">Methods</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Methods"></a>
<h3 class="section-name"><p>Methods</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketManagerSpec(im)connect"></a>
<a name="/s:8SocketIO0A11ManagerSpecP7connectyyF"></a>
<a name="//apple_ref/swift/Method/connect()" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketManagerSpec(im)connect">connect()</a>
<a class="token" href="#/s:8SocketIO0A11ManagerSpecP7connectyyF">connect()</a>
</code>
</div>
<div class="height-container">
@ -564,9 +639,9 @@ called on.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketManagerSpec(im)connectSocket:"></a>
<a name="//apple_ref/swift/Method/connectSocket(_:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketManagerSpec(im)connectSocket:">connectSocket(_:)</a>
<a name="/s:8SocketIO0A11ManagerSpecP07connectA0_11withPayloadyAA0A8IOClientC_SDySSypGSgtF"></a>
<a name="//apple_ref/swift/Method/connectSocket(_:withPayload:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A11ManagerSpecP07connectA0_11withPayloadyAA0A8IOClientC_SDySSypGSgtF">connectSocket(_:<wbr>withPayload:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -581,7 +656,7 @@ called on.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">connectSocket</span><span class="p">(</span><span class="n">_</span> <span class="nv">socket</span><span class="p">:</span> <span class="kt"><a href="../Classes/SocketIOClient.html">SocketIOClient</a></span><span class="p">)</span></code></pre>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">connectSocket</span><span class="p">(</span><span class="n">_</span> <span class="nv">socket</span><span class="p">:</span> <span class="kt"><a href="../Classes/SocketIOClient.html">SocketIOClient</a></span><span class="p">,</span> <span class="nv">withPayload</span><span class="p">:</span> <span class="p">[</span><span class="kt">String</span> <span class="p">:</span> <span class="kt">Any</span><span class="p">]?)</span></code></pre>
</div>
</div>
@ -601,6 +676,18 @@ called on.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>withPayload</em>
</code>
</td>
<td>
<div>
<p>Optional payload to send on connect</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
@ -610,9 +697,9 @@ called on.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketManagerSpec(im)didDisconnectWithReason:"></a>
<a name="/s:8SocketIO0A11ManagerSpecP13didDisconnect6reasonySS_tF"></a>
<a name="//apple_ref/swift/Method/didDisconnect(reason:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketManagerSpec(im)didDisconnectWithReason:">didDisconnect(reason:)</a>
<a class="token" href="#/s:8SocketIO0A11ManagerSpecP13didDisconnect6reasonySS_tF">didDisconnect(reason:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -656,9 +743,9 @@ called on.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketManagerSpec(im)disconnect"></a>
<a name="/s:8SocketIO0A11ManagerSpecP10disconnectyyF"></a>
<a name="//apple_ref/swift/Method/disconnect()" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketManagerSpec(im)disconnect">disconnect()</a>
<a class="token" href="#/s:8SocketIO0A11ManagerSpecP10disconnectyyF">disconnect()</a>
</code>
</div>
<div class="height-container">
@ -683,9 +770,9 @@ called on.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketManagerSpec(im)disconnectSocket:"></a>
<a name="/s:8SocketIO0A11ManagerSpecP010disconnectA0yyAA0A8IOClientCF"></a>
<a name="//apple_ref/swift/Method/disconnectSocket(_:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketManagerSpec(im)disconnectSocket:">disconnectSocket(_:)</a>
<a class="token" href="#/s:8SocketIO0A11ManagerSpecP010disconnectA0yyAA0A8IOClientCF">disconnectSocket(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -729,9 +816,9 @@ called on.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketManagerSpec(im)disconnectSocketForNamespace:"></a>
<a name="/s:8SocketIO0A11ManagerSpecP010disconnectA012forNamespaceySS_tF"></a>
<a name="//apple_ref/swift/Method/disconnectSocket(forNamespace:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketManagerSpec(im)disconnectSocketForNamespace:">disconnectSocket(forNamespace:)</a>
<a class="token" href="#/s:8SocketIO0A11ManagerSpecP010disconnectA012forNamespaceySS_tF">disconnectSocket(forNamespace:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -775,9 +862,9 @@ called on.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketManagerSpec(im)emitAll:withItems:"></a>
<a name="//apple_ref/swift/Method/emitAll(_:withItems:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketManagerSpec(im)emitAll:withItems:">emitAll(_:withItems:)</a>
<a name="/s:8SocketIO0A11ManagerSpecP7emitAllyySS_AA0A4Data_pdtF"></a>
<a name="//apple_ref/swift/Method/emitAll(_:_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A11ManagerSpecP7emitAllyySS_AA0A4Data_pdtF">emitAll(_:<wbr>_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -792,7 +879,7 @@ called on.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">emitAll</span><span class="p">(</span><span class="n">_</span> <span class="nv">event</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="n">withItems</span> <span class="nv">items</span><span class="p">:</span> <span class="p">[</span><span class="kt">Any</span><span class="p">])</span></code></pre>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">emitAll</span><span class="p">(</span><span class="n">_</span> <span class="nv">event</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="n">_</span> <span class="nv">items</span><span class="p">:</span> <span class="kt"><a href="../Protocols/SocketData.html">SocketData</a></span><span class="o">...</span><span class="p">)</span></code></pre>
</div>
</div>
@ -833,9 +920,9 @@ called on.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketManagerSpec(im)reconnect"></a>
<a name="/s:8SocketIO0A11ManagerSpecP9reconnectyyF"></a>
<a name="//apple_ref/swift/Method/reconnect()" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketManagerSpec(im)reconnect">reconnect()</a>
<a class="token" href="#/s:8SocketIO0A11ManagerSpecP9reconnectyyF">reconnect()</a>
</code>
</div>
<div class="height-container">
@ -862,9 +949,9 @@ called on.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketManagerSpec(im)removeSocket:"></a>
<a name="/s:8SocketIO0A11ManagerSpecP06removeA0yAA0A8IOClientCSgAFF"></a>
<a name="//apple_ref/swift/Method/removeSocket(_:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketManagerSpec(im)removeSocket:">removeSocket(_:)</a>
<a class="token" href="#/s:8SocketIO0A11ManagerSpecP06removeA0yAA0A8IOClientCSgAFF">removeSocket(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -914,9 +1001,9 @@ After calling this method the socket should no longer be considered usable.</p>
<li class="item">
<div>
<code>
<a name="/c:@M@SocketIO@objc(pl)SocketManagerSpec(im)socketForNamespace:"></a>
<a name="/s:8SocketIO0A11ManagerSpecP6socket12forNamespaceAA0A8IOClientCSS_tF"></a>
<a name="//apple_ref/swift/Method/socket(forNamespace:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@SocketIO@objc(pl)SocketManagerSpec(im)socketForNamespace:">socket(forNamespace:)</a>
<a class="token" href="#/s:8SocketIO0A11ManagerSpecP6socket12forNamespaceAA0A8IOClientCSS_tF">socket(forNamespace:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -930,7 +1017,7 @@ After calling this method the socket should no longer be considered usable.</p>
<p>Sockets created from this method are retained by the manager.
Call one of the <code>disconnectSocket</code> methods on the implementing class to remove the socket from manager control.
Or call <code><a href="../Classes/SocketIOClient.html#/c:@M@SocketIO@objc(cs)SocketIOClient(im)disconnect">SocketIOClient.disconnect()</a></code> on the client.</p>
Or call <code><a href="../Classes/SocketIOClient.html#/s:8SocketIO0A8IOClientC10disconnectyyF">SocketIOClient.disconnect()</a></code> on the client.</p>
</div>
<div class="declaration">
@ -975,8 +1062,8 @@ Or call <code><a href="../Classes/SocketIOClient.html#/c:@M@SocketIO@objc(cs)Soc
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>

View File

@ -21,9 +21,9 @@
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
SocketIO Docs
SocketIO 16.0.0 Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -50,6 +50,9 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../faq.html">FAQ</a>
</li>
@ -61,9 +64,6 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SSLSecurity.html">SSLSecurity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
@ -105,11 +105,55 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
@ -184,10 +228,11 @@
<article class="main-content">
<section class="section">
<div class="section-content">
<div class="section-content top-matter">
<h1>SocketParsable</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">SocketParsable</span> <span class="p">:</span> <span class="kt">AnyObject</span></code></pre>
</div>
@ -203,9 +248,11 @@
<div class="task-name-container">
<a name="/Methods"></a>
<a name="//apple_ref/swift/Section/Methods" class="dashAnchor"></a>
<a href="#/Methods">
<h3 class="section-name">Methods</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Methods"></a>
<h3 class="section-name"><p>Methods</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
@ -213,11 +260,8 @@
<code>
<a name="/s:8SocketIO0A8ParsableP15parseBinaryDatayAA0A6PacketVSg10Foundation0F0VF"></a>
<a name="//apple_ref/swift/Method/parseBinaryData(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A8ParsableP15parseBinaryDatayAA0A6PacketVSg10Foundation0F0VF">parseBinaryData(_:)</a>
<a class="token" href="#/s:8SocketIO0A8ParsableP15parseBinaryDatayAA0A6PacketVSg10Foundation0F0VF">parseBinaryData(_:<wbr>)</a>
</code>
<span class="declaration-note">
Default implementation
</span>
</div>
<div class="height-container">
<div class="pointer-container"></div>
@ -226,15 +270,6 @@
<div class="abstract">
<p>Called when the engine has received some binary data that should be attached to a packet.</p>
<p>Packets binary data should be sent directly after the packet that expects it, so there&rsquo;s confusion over
where the data should go. Data should be received in the order it is sent, so that the correct data is put
into the correct placeholder.</p>
</div>
<h4>Default Implementation</h4>
<div class="default_impl abstract">
<p>Called when the engine has received some binary data that should be attached to a packet.</p>
<p>Packets binary data should be sent directly after the packet that expects it, so there&rsquo;s confusion over
where the data should go. Data should be received in the order it is sent, so that the correct data is put
into the correct placeholder.</p>
@ -275,11 +310,8 @@ into the correct placeholder.</p>
<code>
<a name="/s:8SocketIO0A8ParsableP05parseA7MessageyAA0A6PacketVSgSSF"></a>
<a name="//apple_ref/swift/Method/parseSocketMessage(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A8ParsableP05parseA7MessageyAA0A6PacketVSgSSF">parseSocketMessage(_:)</a>
<a class="token" href="#/s:8SocketIO0A8ParsableP05parseA7MessageyAA0A6PacketVSgSSF">parseSocketMessage(_:<wbr>)</a>
</code>
<span class="declaration-note">
Default implementation
</span>
</div>
<div class="height-container">
<div class="pointer-container"></div>
@ -288,11 +320,6 @@ into the correct placeholder.</p>
<div class="abstract">
<p>Called when the engine has received a string that should be parsed into a socket.io packet.</p>
</div>
<h4>Default Implementation</h4>
<div class="default_impl abstract">
<p>Called when the engine has received a string that should be parsed into a socket.io packet.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
@ -330,14 +357,145 @@ into the correct placeholder.</p>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/Available%20where%20%60Self%60%3A%20%60SocketManagerSpec%60%20%26%20%60SocketDataBufferable%60"></a>
<a name="//apple_ref/swift/Section/Available where `Self`: `SocketManagerSpec` &amp; `SocketDataBufferable`" class="dashAnchor"></a>
<div class="section-name-container">
<a class="section-name-link" href="#/Available%20where%20%60Self%60%3A%20%60SocketManagerSpec%60%20%26%20%60SocketDataBufferable%60"></a>
<h3 class="section-name"><p>Available where <code>Self</code>: <code><a href="../Protocols/SocketManagerSpec.html">SocketManagerSpec</a></code> &amp; <code><a href="../Protocols/SocketDataBufferable.html">SocketDataBufferable</a></code></p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:8SocketIO0A8ParsablePA2A0A14DataBufferableRzAA0A11ManagerSpecRzrlE05parseA7MessageyAA0A6PacketVSgSSF"></a>
<a name="//apple_ref/swift/Method/parseSocketMessage(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A8ParsablePA2A0A14DataBufferableRzAA0A11ManagerSpecRzrlE05parseA7MessageyAA0A6PacketVSgSSF">parseSocketMessage(_:<wbr>)</a>
</code>
<span class="declaration-note">
Default implementation
</span>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
</div>
<h4>Default Implementation</h4>
<div class="default_impl abstract">
<p>Called when the engine has received a string that should be parsed into a socket.io packet.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">parseSocketMessage</span><span class="p">(</span><span class="n">_</span> <span class="nv">message</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt"><a href="../Structs/SocketPacket.html">SocketPacket</a></span><span class="p">?</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>message</em>
</code>
</td>
<td>
<div>
<p>The string that needs parsing.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div>
<h4>Return Value</h4>
<p>A completed socket packet or nil if the packet is invalid.</p>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:8SocketIO0A8ParsablePA2A0A14DataBufferableRzAA0A11ManagerSpecRzrlE011parseBinaryD0yAA0A6PacketVSg10Foundation0D0VF"></a>
<a name="//apple_ref/swift/Method/parseBinaryData(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A8ParsablePA2A0A14DataBufferableRzAA0A11ManagerSpecRzrlE011parseBinaryD0yAA0A6PacketVSg10Foundation0D0VF">parseBinaryData(_:<wbr>)</a>
</code>
<span class="declaration-note">
Default implementation
</span>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
</div>
<h4>Default Implementation</h4>
<div class="default_impl abstract">
<p>Called when the engine has received some binary data that should be attached to a packet.</p>
<p>Packets binary data should be sent directly after the packet that expects it, so there&rsquo;s confusion over
where the data should go. Data should be received in the order it is sent, so that the correct data is put
into the correct placeholder.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">parseBinaryData</span><span class="p">(</span><span class="n">_</span> <span class="nv">data</span><span class="p">:</span> <span class="kt">Data</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt"><a href="../Structs/SocketPacket.html">SocketPacket</a></span><span class="p">?</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>data</em>
</code>
</td>
<td>
<div>
<p>The data that should be attached to a packet.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div>
<h4>Return Value</h4>
<p>A completed socket packet if there is no more data left to collect.</p>
</div>
</section>
</div>
</li>
</ul>
</div>
</div>
</section>
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>

View File

@ -21,9 +21,9 @@
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="index.html">
SocketIO Docs
SocketIO 16.0.0 Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -50,6 +50,9 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="faq.html">FAQ</a>
</li>
@ -61,9 +64,6 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SSLSecurity.html">SSLSecurity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
@ -105,11 +105,55 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
@ -184,7 +228,7 @@
<article class="main-content">
<section class="section">
<div class="section-content">
<div class="section-content top-matter">
<h1>Structures</h1>
<p>The following structures are available globally.</p>
@ -223,10 +267,6 @@
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<ul class="item-container">
<li class="item">
<div>
<code>
@ -255,10 +295,6 @@
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<ul class="item-container">
<li class="item">
<div>
<code>
@ -295,8 +331,8 @@
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>

View File

@ -21,9 +21,9 @@
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
SocketIO Docs
SocketIO 16.0.0 Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -50,6 +50,9 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../faq.html">FAQ</a>
</li>
@ -61,9 +64,6 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SSLSecurity.html">SSLSecurity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
@ -105,11 +105,55 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
@ -184,10 +228,11 @@
<article class="main-content">
<section class="section">
<div class="section-content">
<div class="section-content top-matter">
<h1>SocketEventHandler</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">struct</span> <span class="kt">SocketEventHandler</span></code></pre>
</div>
@ -203,9 +248,11 @@
<div class="task-name-container">
<a name="/Properties"></a>
<a name="//apple_ref/swift/Section/Properties" class="dashAnchor"></a>
<a href="#/Properties">
<h3 class="section-name">Properties</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Properties"></a>
<h3 class="section-name"><p>Properties</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
@ -295,9 +342,11 @@
<div class="task-name-container">
<a name="/Methods"></a>
<a name="//apple_ref/swift/Section/Methods" class="dashAnchor"></a>
<a href="#/Methods">
<h3 class="section-name">Methods</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Methods"></a>
<h3 class="section-name"><p>Methods</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
@ -305,7 +354,7 @@
<code>
<a name="/s:8SocketIO0A12EventHandlerV15executeCallback4with0G3Ack0gA0ySayypG_SiAA0A8IOClientCtF"></a>
<a name="//apple_ref/swift/Method/executeCallback(with:withAck:withSocket:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A12EventHandlerV15executeCallback4with0G3Ack0gA0ySayypG_SiAA0A8IOClientCtF">executeCallback(with:withAck:withSocket:)</a>
<a class="token" href="#/s:8SocketIO0A12EventHandlerV15executeCallback4with0G3Ack0gA0ySayypG_SiAA0A8IOClientCtF">executeCallback(with:<wbr>withAck:<wbr>withSocket:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -378,8 +427,8 @@
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>

View File

@ -21,9 +21,9 @@
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
SocketIO Docs
SocketIO 16.0.0 Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -50,6 +50,9 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../faq.html">FAQ</a>
</li>
@ -61,9 +64,6 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SSLSecurity.html">SSLSecurity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
@ -105,11 +105,55 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
@ -184,10 +228,11 @@
<article class="main-content">
<section class="section">
<div class="section-content">
<div class="section-content top-matter">
<h1>SocketIOClientConfiguration</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">struct</span> <span class="kt">SocketIOClientConfiguration</span> <span class="p">:</span> <span class="kt">ExpressibleByArrayLiteral</span><span class="p">,</span> <span class="kt">Collection</span><span class="p">,</span> <span class="kt">MutableCollection</span></code></pre>
</div>
@ -203,9 +248,11 @@
<div class="task-name-container">
<a name="/Typealiases"></a>
<a name="//apple_ref/swift/Section/Typealiases" class="dashAnchor"></a>
<a href="#/Typealiases">
<h3 class="section-name">Typealiases</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Typealiases"></a>
<h3 class="section-name"><p>Typealiases</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
@ -322,9 +369,11 @@
<div class="task-name-container">
<a name="/Properties"></a>
<a name="//apple_ref/swift/Section/Properties" class="dashAnchor"></a>
<a href="#/Properties">
<h3 class="section-name">Properties</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Properties"></a>
<h3 class="section-name"><p>Properties</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
@ -347,7 +396,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">startIndex</span><span class="p">:</span> <span class="nf">Index</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">startIndex</span><span class="p">:</span> <span class="kt"><a href="../Structs/SocketIOClientConfiguration.html#/s:8SocketIO0A21IOClientConfigurationV5Indexa">Index</a></span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -374,7 +423,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">endIndex</span><span class="p">:</span> <span class="nf">Index</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">endIndex</span><span class="p">:</span> <span class="kt"><a href="../Structs/SocketIOClientConfiguration.html#/s:8SocketIO0A21IOClientConfigurationV5Indexa">Index</a></span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -401,7 +450,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">isEmpty</span><span class="p">:</span> <span class="nf">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">isEmpty</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -428,7 +477,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">count</span><span class="p">:</span> <span class="kt"><a href="../Structs/SocketIOClientConfiguration.html#/s:8SocketIO0A21IOClientConfigurationV5Indexa">Index</a></span><span class="o">.</span><span class="nf">Stride</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">count</span><span class="p">:</span> <span class="kt"><a href="../Structs/SocketIOClientConfiguration.html#/s:8SocketIO0A21IOClientConfigurationV5Indexa">Index</a></span><span class="o">.</span><span class="kt">Stride</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -455,7 +504,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">first</span><span class="p">:</span> <span class="nf">Element</span><span class="p">?</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">first</span><span class="p">:</span> <span class="kt"><a href="../Structs/SocketIOClientConfiguration.html#/s:8SocketIO0A21IOClientConfigurationV7Elementa">Element</a></span><span class="p">?</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -467,7 +516,7 @@
<code>
<a name="/s:Sly7ElementQz5IndexQzcip"></a>
<a name="//apple_ref/swift/Method/subscript(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:Sly7ElementQz5IndexQzcip">subscript(_:)</a>
<a class="token" href="#/s:Sly7ElementQz5IndexQzcip">subscript(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -481,7 +530,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="nf">subscript</span><span class="p">(</span><span class="nv">position</span><span class="p">:</span> <span class="kt"><a href="../Structs/SocketIOClientConfiguration.html#/s:8SocketIO0A21IOClientConfigurationV5Indexa">Index</a></span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nf">Element</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="nf">subscript</span><span class="p">(</span><span class="nv">position</span><span class="p">:</span> <span class="kt"><a href="../Structs/SocketIOClientConfiguration.html#/s:8SocketIO0A21IOClientConfigurationV5Indexa">Index</a></span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt"><a href="../Structs/SocketIOClientConfiguration.html#/s:8SocketIO0A21IOClientConfigurationV7Elementa">Element</a></span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -493,7 +542,7 @@
<code>
<a name="/s:Sly11SubSequenceQzSny5IndexQzGcip"></a>
<a name="//apple_ref/swift/Method/subscript(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:Sly11SubSequenceQzSny5IndexQzGcip">subscript(_:)</a>
<a class="token" href="#/s:Sly11SubSequenceQzSny5IndexQzGcip">subscript(_:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -507,7 +556,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="nf">subscript</span><span class="p">(</span><span class="nv">bounds</span><span class="p">:</span> <span class="kt">Range</span><span class="o">&lt;</span><span class="kt"><a href="../Structs/SocketIOClientConfiguration.html#/s:8SocketIO0A21IOClientConfigurationV5Indexa">Index</a></span><span class="o">&gt;</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nf">SubSequence</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="nf">subscript</span><span class="p">(</span><span class="nv">bounds</span><span class="p">:</span> <span class="kt">Range</span><span class="o">&lt;</span><span class="kt"><a href="../Structs/SocketIOClientConfiguration.html#/s:8SocketIO0A21IOClientConfigurationV5Indexa">Index</a></span><span class="o">&gt;</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt"><a href="../Structs/SocketIOClientConfiguration.html#/s:8SocketIO0A21IOClientConfigurationV11SubSequencea">SubSequence</a></span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -520,9 +569,11 @@
<div class="task-name-container">
<a name="/Initializers"></a>
<a name="//apple_ref/swift/Section/Initializers" class="dashAnchor"></a>
<a href="#/Initializers">
<h3 class="section-name">Initializers</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Initializers"></a>
<h3 class="section-name"><p>Initializers</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
@ -530,7 +581,7 @@
<code>
<a name="/s:8SocketIO0A21IOClientConfigurationV12arrayLiteralAcA0aC6OptionOd_tcfc"></a>
<a name="//apple_ref/swift/Method/init(arrayLiteral:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A21IOClientConfigurationV12arrayLiteralAcA0aC6OptionOd_tcfc">init(arrayLiteral:)</a>
<a class="token" href="#/s:8SocketIO0A21IOClientConfigurationV12arrayLiteralAcA0aC6OptionOd_tcfc">init(arrayLiteral:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -577,9 +628,11 @@
<div class="task-name-container">
<a name="/Methods"></a>
<a name="//apple_ref/swift/Section/Methods" class="dashAnchor"></a>
<a href="#/Methods">
<h3 class="section-name">Methods</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Methods"></a>
<h3 class="section-name"><p>Methods</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
@ -618,7 +671,7 @@
<code>
<a name="/s:8SocketIO0A21IOClientConfigurationV5index5afterS2i_tF"></a>
<a name="//apple_ref/swift/Method/index(after:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A21IOClientConfigurationV5index5afterS2i_tF">index(after:)</a>
<a class="token" href="#/s:8SocketIO0A21IOClientConfigurationV5index5afterS2i_tF">index(after:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -648,7 +701,7 @@
<code>
<a name="/s:8SocketIO0A21IOClientConfigurationV6insert_9replacingyAA0aC6OptionO_SbtF"></a>
<a name="//apple_ref/swift/Method/insert(_:replacing:)" class="dashAnchor"></a>
<a class="token" href="#/s:8SocketIO0A21IOClientConfigurationV6insert_9replacingyAA0aC6OptionO_SbtF">insert(_:replacing:)</a>
<a class="token" href="#/s:8SocketIO0A21IOClientConfigurationV6insert_9replacingyAA0aC6OptionO_SbtF">insert(_:<wbr>replacing:<wbr>)</a>
</code>
</div>
<div class="height-container">
@ -709,8 +762,8 @@
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>

View File

@ -21,9 +21,9 @@
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
SocketIO Docs
SocketIO 16.0.0 Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -50,6 +50,9 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../faq.html">FAQ</a>
</li>
@ -61,9 +64,6 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SSLSecurity.html">SSLSecurity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
@ -105,11 +105,55 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
@ -184,10 +228,11 @@
<article class="main-content">
<section class="section">
<div class="section-content">
<div class="section-content top-matter">
<h1>SocketPacket</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">struct</span> <span class="kt">SocketPacket</span> <span class="p">:</span> <span class="kt">CustomStringConvertible</span></code></pre>
</div>
@ -203,9 +248,11 @@
<div class="task-name-container">
<a name="/Properties"></a>
<a name="//apple_ref/swift/Section/Properties" class="dashAnchor"></a>
<a href="#/Properties">
<h3 class="section-name">Properties</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Properties"></a>
<h3 class="section-name"><p>Properties</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
@ -309,9 +356,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">internal(set)</span> <span class="k">var</span> <span class="nv">binary</span><span class="p">:</span> <span class="p">[</span><span class="kt">Data</span><span class="p">]</span> <span class="p">{</span>
<span class="k">get</span>
<span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">internal(set)</span> <span class="k">var</span> <span class="nv">binary</span><span class="p">:</span> <span class="p">[</span><span class="kt">Data</span><span class="p">]</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -341,9 +386,7 @@ event type packets.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">internal(set)</span> <span class="k">var</span> <span class="nv">data</span><span class="p">:</span> <span class="p">[</span><span class="kt">Any</span><span class="p">]</span> <span class="p">{</span>
<span class="k">get</span>
<span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">internal(set)</span> <span class="k">var</span> <span class="nv">data</span><span class="p">:</span> <span class="p">[</span><span class="kt">Any</span><span class="p">]</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -397,7 +440,7 @@ event type packets.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">description</span><span class="p">:</span> <span class="nf">String</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">description</span><span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -424,7 +467,7 @@ event type packets.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">event</span><span class="p">:</span> <span class="nf">String</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">event</span><span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -451,7 +494,7 @@ event type packets.</p>
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">packetString</span><span class="p">:</span> <span class="nf">String</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">packetString</span><span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -464,9 +507,11 @@ event type packets.</p>
<div class="task-name-container">
<a name="/PacketType%20enum"></a>
<a name="//apple_ref/swift/Section/PacketType enum" class="dashAnchor"></a>
<a href="#/PacketType%20enum">
<h3 class="section-name">PacketType enum</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/PacketType%20enum"></a>
<h3 class="section-name"><p>PacketType enum</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
@ -505,8 +550,8 @@ event type packets.</p>
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>

View File

@ -21,9 +21,9 @@
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../../index.html">
SocketIO Docs
SocketIO 16.0.0 Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -50,6 +50,9 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../faq.html">FAQ</a>
</li>
@ -61,9 +64,6 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/SSLSecurity.html">SSLSecurity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
@ -105,11 +105,55 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
@ -184,10 +228,11 @@
<article class="main-content">
<section class="section">
<div class="section-content">
<div class="section-content top-matter">
<h1>PacketType</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">enum</span> <span class="kt">PacketType</span> <span class="p">:</span> <span class="kt">Int</span></code></pre>
</div>
@ -203,9 +248,11 @@
<div class="task-name-container">
<a name="/Cases"></a>
<a name="//apple_ref/swift/Section/Cases" class="dashAnchor"></a>
<a href="#/Cases">
<h3 class="section-name">Cases</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Cases"></a>
<h3 class="section-name"><p>Cases</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
@ -403,9 +450,11 @@
<div class="task-name-container">
<a name="/Properties"></a>
<a name="//apple_ref/swift/Section/Properties" class="dashAnchor"></a>
<a href="#/Properties">
<h3 class="section-name">Properties</h3>
</a>
<div class="section-name-container">
<a class="section-name-link" href="#/Properties"></a>
<h3 class="section-name"><p>Properties</p>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
@ -428,7 +477,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">isBinary</span><span class="p">:</span> <span class="nf">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">isBinary</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
@ -443,8 +492,8 @@
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>

View File

@ -21,9 +21,9 @@
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="index.html">
SocketIO Docs
SocketIO 16.0.0 Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -50,6 +50,9 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="faq.html">FAQ</a>
</li>
@ -61,9 +64,6 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SSLSecurity.html">SSLSecurity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
@ -105,11 +105,55 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
@ -184,7 +228,7 @@
<article class="main-content">
<section class="section">
<div class="section-content">
<div class="section-content top-matter">
<h1>Type Aliases</h1>
<p>The following type aliases are available globally.</p>
@ -284,8 +328,8 @@
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>

View File

@ -1,15 +1,15 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="128" height="20">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="136" height="20">
<linearGradient id="b" x2="0" y2="100%">
<stop offset="0" stop-color="#bbb" stop-opacity=".1"/>
<stop offset="1" stop-opacity=".1"/>
</linearGradient>
<clipPath id="a">
<rect width="128" height="20" rx="3" fill="#fff"/>
<rect width="136" height="20" rx="3" fill="#fff"/>
</clipPath>
<g clip-path="url(#a)">
<path fill="#555" d="M0 0h93v20H0z"/>
<path fill="#4c1" d="M93 0h35v20H93z"/>
<path fill="url(#b)" d="M0 0h128v20H0z"/>
<path fill="#4c1" d="M93 0h43v20H93z"/>
<path fill="url(#b)" d="M0 0h136v20H0z"/>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="110">
<text x="475" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="830">
@ -18,11 +18,11 @@
<text x="475" y="140" transform="scale(.1)" textLength="830">
documentation
</text>
<text x="1095" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="250">
98%
<text x="1135" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="330">
100%
</text>
<text x="1095" y="140" transform="scale(.1)" textLength="250">
98%
<text x="1135" y="140" transform="scale(.1)" textLength="330">
100%
</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -63,6 +63,10 @@ a {
a:hover, a:focus {
outline: 0;
text-decoration: underline; }
a.discouraged {
text-decoration: line-through; }
a.discouraged:hover, a.discouraged:focus {
text-decoration: underline line-through; }
table {
background: #fff;
@ -90,10 +94,10 @@ pre {
code {
font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; }
p > code, li > code {
.item-container p > code, .item-container li > code, .top-matter p > code, .top-matter li > code {
background: #f7f7f7;
padding: .2em; }
p > code:before, p > code:after, li > code:before, li > code:after {
.item-container p > code:before, .item-container p > code:after, .item-container li > code:before, .item-container li > code:after, .top-matter p > code:before, .top-matter p > code:after, .top-matter li > code:before, .top-matter li > code:after {
letter-spacing: -.2em;
content: "\00a0"; }
@ -107,7 +111,6 @@ pre code {
@media (min-width: 768px) {
.content-wrapper {
flex-direction: row; } }
.header {
display: flex;
padding: 8px;
@ -153,7 +156,6 @@ pre code {
word-wrap: normal;
background: #fbfbfb;
border-right: 1px solid #ddd; } }
.nav-groups {
list-style-type: none;
padding-left: 0; }
@ -184,7 +186,6 @@ pre code {
order: 2;
flex: 1;
padding-bottom: 60px; } }
.section {
padding: 0 32px;
border-bottom: 1px solid #ddd; }
@ -197,6 +198,8 @@ pre code {
.section-name {
color: #666;
display: block; }
.section-name p {
margin-bottom: inherit; }
.declaration .highlight {
overflow-x: initial;
@ -215,6 +218,22 @@ pre code {
content: "";
display: block; }
.section-name-container {
position: relative; }
.section-name-container .section-name-link {
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
margin-bottom: 0; }
.section-name-container .section-name {
position: relative;
pointer-events: none;
z-index: 1; }
.section-name-container .section-name a {
pointer-events: auto; }
.item-container {
padding: 0; }
@ -225,9 +244,11 @@ pre code {
.item a[name]:before {
content: "";
display: block; }
.item .token {
.item .token, .item .direct-link {
display: inline-block;
text-indent: -20px;
padding-left: 3px;
margin-left: 0px;
margin-left: 20px;
font-size: 1rem; }
.item .declaration-note {
font-size: .85em;
@ -287,9 +308,9 @@ pre code {
.language .aside-title {
color: #4183c4; }
.aside-warning {
.aside-warning, .aside-deprecated, .aside-unavailable {
border-left: 5px solid #ff6666; }
.aside-warning .aside-title {
.aside-warning .aside-title, .aside-deprecated .aside-title, .aside-unavailable .aside-title {
color: #ff0000; }
.graybox {
@ -325,6 +346,7 @@ pre code {
html.dash .header, html.dash .breadcrumbs, html.dash .navigation {
display: none; }
html.dash .height-container {
display: block; }
@ -338,14 +360,17 @@ form[role=search] input {
border-radius: 1em; }
.loading form[role=search] input {
background: white url(../img/spinner.gif) center right 4px no-repeat; }
form[role=search] .tt-menu {
margin: 0;
min-width: 300px;
background: #fbfbfb;
color: #333;
border: 1px solid #ddd; }
form[role=search] .tt-highlight {
font-weight: bold; }
form[role=search] .tt-suggestion {
font: 16px/1.7 "Helvetica Neue", Helvetica, Arial, sans-serif;
padding: 0 8px; }
@ -358,11 +383,13 @@ form[role=search] .tt-suggestion {
font-weight: normal;
font-size: 0.9em;
padding-left: 16px; }
form[role=search] .tt-suggestion:hover,
form[role=search] .tt-suggestion.tt-cursor {
cursor: pointer;
background-color: #4183c4;
color: #fff; }
form[role=search] .tt-suggestion:hover .doc-parent-name,
form[role=search] .tt-suggestion.tt-cursor .doc-parent-name {
color: #fff; }

View File

@ -20,9 +20,9 @@
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="index.html">
SocketIO Docs
SocketIO 16.0.0 Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -49,6 +49,9 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="faq.html">FAQ</a>
</li>
@ -60,9 +63,6 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SSLSecurity.html">SSLSecurity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
@ -104,11 +104,55 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
@ -183,7 +227,7 @@
<article class="main-content">
<section class="section">
<div class="section-content">
<div class="section-content top-matter">
<h2 id='how-do-i-connect-to-my-websocket-server' class='heading'>How do I connect to my WebSocket server?</h2>
@ -197,9 +241,9 @@ for Objective-C.</p>
<a href="https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/AutomaticReferenceCounting.html">ARC</a>.</p>
<p>Take this code for example:</p>
<pre class="highlight swift"><code><span class="kd">class</span> <span class="nf">Manager</span> <span class="p">{</span>
<pre class="highlight swift"><code><span class="kd">class</span> <span class="kt">Manager</span> <span class="p">{</span>
<span class="kd">func</span> <span class="nf">addHandlers</span><span class="p">()</span> <span class="p">{</span>
<span class="k">let</span> <span class="nv">manager</span> <span class="o">=</span> <span class="nf">SocketManager</span><span class="p">(</span><span class="nv">socketURL</span><span class="p">:</span> <span class="nf">URL</span><span class="p">(</span><span class="nv">string</span><span class="p">:</span> <span class="s">"http://somesocketioserver.com"</span><span class="p">)</span><span class="o">!</span><span class="p">)</span>
<span class="k">let</span> <span class="nv">manager</span> <span class="o">=</span> <span class="kt">SocketManager</span><span class="p">(</span><span class="nv">socketURL</span><span class="p">:</span> <span class="kt">URL</span><span class="p">(</span><span class="nv">string</span><span class="p">:</span> <span class="s">"http://somesocketioserver.com"</span><span class="p">)</span><span class="o">!</span><span class="p">)</span>
<span class="n">manager</span><span class="o">.</span><span class="n">defaultSocket</span><span class="o">.</span><span class="nf">on</span><span class="p">(</span><span class="s">"myEvent"</span><span class="p">)</span> <span class="p">{</span><span class="n">data</span><span class="p">,</span> <span class="n">ack</span> <span class="k">in</span>
<span class="nf">print</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
@ -213,8 +257,8 @@ for Objective-C.</p>
will be released, along with the socket, and its memory reclaimed.</p>
<p>A correct way would be:</p>
<pre class="highlight swift"><code><span class="kd">class</span> <span class="nf">Manager</span> <span class="p">{</span>
<span class="k">let</span> <span class="nv">manager</span> <span class="o">=</span> <span class="nf">SocketManager</span><span class="p">(</span><span class="nv">socketURL</span><span class="p">:</span> <span class="nf">URL</span><span class="p">(</span><span class="nv">string</span><span class="p">:</span> <span class="s">"http://somesocketioserver.com"</span><span class="p">)</span><span class="o">!</span><span class="p">)</span>
<pre class="highlight swift"><code><span class="kd">class</span> <span class="kt">Manager</span> <span class="p">{</span>
<span class="k">let</span> <span class="nv">manager</span> <span class="o">=</span> <span class="kt">SocketManager</span><span class="p">(</span><span class="nv">socketURL</span><span class="p">:</span> <span class="kt">URL</span><span class="p">(</span><span class="nv">string</span><span class="p">:</span> <span class="s">"http://somesocketioserver.com"</span><span class="p">)</span><span class="o">!</span><span class="p">)</span>
<span class="kd">func</span> <span class="nf">addHandlers</span><span class="p">()</span> <span class="p">{</span>
<span class="n">manager</span><span class="o">.</span><span class="n">defaultSocket</span><span class="o">.</span><span class="nf">on</span><span class="p">(</span><span class="s">"myEvent"</span><span class="p">)</span> <span class="p">{</span><span class="n">data</span><span class="p">,</span> <span class="n">ack</span> <span class="k">in</span>
@ -232,8 +276,8 @@ will be released, along with the socket, and its memory reclaimed.</p>
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>

View File

@ -20,9 +20,9 @@
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="index.html">
SocketIO Docs
SocketIO 16.0.0 Docs
</a>
(98% documented)
(100% documented)
</p>
<p class="header-col--secondary">
@ -49,6 +49,9 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="12to13.html">12to13</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="15to16.html">15to16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="faq.html">FAQ</a>
</li>
@ -60,9 +63,6 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SSLSecurity.html">SSLSecurity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
@ -104,11 +104,55 @@
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketIOStatus.html">SocketIOStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketIOVersion.html">SocketIOVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SocketParsableError.html">SocketParsableError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Sa">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Sb">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:10Foundation4DataV">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:SD">Dictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Sd">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:Si">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSArray">NSArray</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSData">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSNull">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/c:objc(cs)NSString">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions.html#/s:SS">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
@ -183,7 +227,7 @@
<article class="main-content">
<section class="section">
<div class="section-content">
<div class="section-content top-matter">
<p><a href="https://travis-ci.org/socketio/socket.io-client-swift"><img src="https://travis-ci.org/socketio/socket.io-client-swift.svg?branch=master" alt="Build Status"></a></p>
<h1 id='socket-io-client-swift' class='heading'>Socket.IO-Client-Swift</h1>
@ -192,7 +236,7 @@
<h2 id='example' class='heading'>Example</h2>
<pre class="highlight swift"><code><span class="kd">import</span> <span class="kt">SocketIO</span>
<span class="k">let</span> <span class="nv">manager</span> <span class="o">=</span> <span class="nf">SocketManager</span><span class="p">(</span><span class="nv">socketURL</span><span class="p">:</span> <span class="nf">URL</span><span class="p">(</span><span class="nv">string</span><span class="p">:</span> <span class="s">"http://localhost:8080"</span><span class="p">)</span><span class="o">!</span><span class="p">,</span> <span class="nv">config</span><span class="p">:</span> <span class="p">[</span><span class="o">.</span><span class="nf">log</span><span class="p">(</span><span class="kc">true</span><span class="p">),</span> <span class="o">.</span><span class="n">compress</span><span class="p">])</span>
<span class="k">let</span> <span class="nv">manager</span> <span class="o">=</span> <span class="kt">SocketManager</span><span class="p">(</span><span class="nv">socketURL</span><span class="p">:</span> <span class="kt">URL</span><span class="p">(</span><span class="nv">string</span><span class="p">:</span> <span class="s">"http://localhost:8080"</span><span class="p">)</span><span class="o">!</span><span class="p">,</span> <span class="nv">config</span><span class="p">:</span> <span class="p">[</span><span class="o">.</span><span class="nf">log</span><span class="p">(</span><span class="kc">true</span><span class="p">),</span> <span class="o">.</span><span class="n">compress</span><span class="p">])</span>
<span class="k">let</span> <span class="nv">socket</span> <span class="o">=</span> <span class="n">manager</span><span class="o">.</span><span class="n">defaultSocket</span>
<span class="n">socket</span><span class="o">.</span><span class="nf">on</span><span class="p">(</span><span class="nv">clientEvent</span><span class="p">:</span> <span class="o">.</span><span class="n">connect</span><span class="p">)</span> <span class="p">{</span><span class="n">data</span><span class="p">,</span> <span class="n">ack</span> <span class="k">in</span>
@ -200,9 +244,13 @@
<span class="p">}</span>
<span class="n">socket</span><span class="o">.</span><span class="nf">on</span><span class="p">(</span><span class="s">"currentAmount"</span><span class="p">)</span> <span class="p">{</span><span class="n">data</span><span class="p">,</span> <span class="n">ack</span> <span class="k">in</span>
<span class="k">guard</span> <span class="k">let</span> <span class="nv">cur</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="k">as?</span> <span class="kt">Double</span> <span class="nf">else</span> <span class="p">{</span> <span class="k">return</span> <span class="p">}</span>
<span class="k">guard</span> <span class="k">let</span> <span class="nv">cur</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="k">as?</span> <span class="kt">Double</span> <span class="k">else</span> <span class="p">{</span> <span class="k">return</span> <span class="p">}</span>
<span class="n">socket</span><span class="o">.</span><span class="nf">emitWithAck</span><span class="p">(</span><span class="s">"canUpdate"</span><span class="p">,</span> <span class="n">cur</span><span class="p">)</span><span class="o">.</span><span class="nf">timingOut</span><span class="p">(</span><span class="nv">after</span><span class="p">:</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span><span class="n">data</span> <span class="k">in</span>
<span class="k">if</span> <span class="n">data</span><span class="o">.</span><span class="n">first</span> <span class="k">as?</span> <span class="kt">String</span> <span class="p">??</span> <span class="s">"passed"</span> <span class="o">==</span> <span class="kt">SocketAckValue</span><span class="o">.</span><span class="n">noAck</span> <span class="p">{</span>
<span class="c1">// Handle ack timeout </span>
<span class="p">}</span>
<span class="n">socket</span><span class="o">.</span><span class="nf">emit</span><span class="p">(</span><span class="s">"update"</span><span class="p">,</span> <span class="p">[</span><span class="s">"amount"</span><span class="p">:</span> <span class="n">cur</span> <span class="o">+</span> <span class="mf">2.50</span><span class="p">])</span>
<span class="p">}</span>
@ -210,52 +258,25 @@
<span class="p">}</span>
<span class="n">socket</span><span class="o">.</span><span class="nf">connect</span><span class="p">()</span>
</code></pre>
<h2 id='objective-c-example' class='heading'>Objective-C Example</h2>
<pre class="highlight plaintext"><code>@import SocketIO;
NSURL* url = [[NSURL alloc] initWithString:@"http://localhost:8080"];
SocketManager* manager = [[SocketManager alloc] initWithSocketURL:url config:@{@"log": @YES, @"compress": @YES}];
SocketIOClient* socket = manager.defaultSocket;
[socket on:@"connect" callback:^(NSArray* data, SocketAckEmitter* ack) {
NSLog(@"socket connected");
}];
[socket on:@"currentAmount" callback:^(NSArray* data, SocketAckEmitter* ack) {
double cur = [[data objectAtIndex:0] floatValue];
[[socket emitWithAck:@"canUpdate" with:@[@(cur)]] timingOutAfter:0 callback:^(NSArray* data) {
[socket emit:@"update" with:@[@{@"amount": @(cur + 2.50)}]];
}];
[ack with:@[@"Got your currentAmount, ", @"dude"]];
}];
[socket connect];
</code></pre>
<h2 id='features' class='heading'>Features</h2>
<ul>
<li>Supports socket.io 2.0+ (For socket.io 1.0 use v9.x)</li>
<li>Supports binary</li>
<li>Supports socket.io 2.0+/3.0+.</li>
<li>Supports Binary</li>
<li>Supports Polling and WebSockets</li>
<li>Supports TLS/SSL</li>
<li>Can be used from Objective-C</li>
</ul>
<h2 id='faqs' class='heading'>FAQS</h2>
<p>Checkout the <a href="https://nuclearace.github.io/Socket.IO-Client-Swift/faq.html">FAQs</a> for commonly asked questions.</p>
<p>Checkout the <a href="https://nuclearace.github.io/Socket.IO-Client-Swift/12to13.html">12to13</a> guide for migrating to v13+ from v12 below.</p>
<p>Checkout the <a href="https://nuclearace.github.io/Socket.IO-Client-Swift/15to16.html">15to16</a> guide for migrating to v16+ from v15.</p>
<h2 id='installation' class='heading'>Installation</h2>
<p>Requires Swift 4/5 and Xcode 10.x</p>
<p>If you need Swift 2.3 use the <a href="https://github.com/socketio/socket.io-client-swift/releases/tag/swift2.3">swift2.3 tag</a> (Pre-Swift 4 support is no longer maintained)</p>
<p>If you need Swift 3.x use v11.1.3.</p>
<h3 id='swift-package-manager' class='heading'>Swift Package Manager</h3>
<p>Add the project as a dependency to your Package.swift:</p>
@ -263,7 +284,7 @@ SocketIOClient* socket = manager.defaultSocket;
<span class="kd">import</span> <span class="kt">PackageDescription</span>
<span class="k">let</span> <span class="nv">package</span> <span class="o">=</span> <span class="nf">Package</span><span class="p">(</span>
<span class="k">let</span> <span class="nv">package</span> <span class="o">=</span> <span class="kt">Package</span><span class="p">(</span>
<span class="nv">name</span><span class="p">:</span> <span class="s">"socket.io-test"</span><span class="p">,</span>
<span class="nv">products</span><span class="p">:</span> <span class="p">[</span>
<span class="o">.</span><span class="nf">executable</span><span class="p">(</span><span class="nv">name</span><span class="p">:</span> <span class="s">"socket.io-test"</span><span class="p">,</span> <span class="nv">targets</span><span class="p">:</span> <span class="p">[</span><span class="s">"YourTargetName"</span><span class="p">])</span>
@ -281,7 +302,7 @@ SocketIOClient* socket = manager.defaultSocket;
<h3 id='carthage' class='heading'>Carthage</h3>
<p>Add this line to your <code>Cartfile</code>:</p>
<pre class="highlight plaintext"><code>github "socketio/socket.io-client-swift" ~&gt; 15.0.0
<pre class="highlight plaintext"><code>github "socketio/socket.io-client-swift" ~&gt; 15.2.0
</code></pre>
<p>Run <code>carthage update --platform ios,macosx</code>.</p>
@ -293,7 +314,7 @@ SocketIOClient* socket = manager.defaultSocket;
<pre class="highlight ruby"><code><span class="n">use_frameworks!</span>
<span class="n">target</span> <span class="s1">'YourApp'</span> <span class="k">do</span>
<span class="n">pod</span> <span class="s1">'Socket.IO-Client-Swift'</span><span class="p">,</span> <span class="s1">'~&gt; 15.0.0'</span>
<span class="n">pod</span> <span class="s1">'Socket.IO-Client-Swift'</span><span class="p">,</span> <span class="s1">'~&gt; 15.2.0'</span>
<span class="k">end</span>
</code></pre>
@ -334,8 +355,8 @@ SocketIOClient* socket = manager.defaultSocket;
</article>
</div>
<section class="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2019-03-28)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2021 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2021-02-01)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>

View File

@ -8,26 +8,41 @@ if (navigator.userAgent.match(/xcode/i)) {
window.jazzy.docset = true
}
// On doc load, toggle the URL hash discussion if present
$(document).ready(function() {
if (!window.jazzy.docset) {
var linkToHash = $('a[href="' + window.location.hash +'"]');
linkToHash.trigger("click");
}
});
function toggleItem($link, $content) {
var animationDuration = 300;
$link.toggleClass('token-open');
$content.slideToggle(animationDuration);
}
// On token click, toggle its discussion and animate token.marginLeft
$(".token").click(function(event) {
function itemLinkToContent($link) {
return $link.parent().parent().next();
}
// On doc load + hash-change, open any targetted item
function openCurrentItemIfClosed() {
if (window.jazzy.docset) {
return;
}
var link = $(this);
var animationDuration = 300;
$content = link.parent().parent().next();
$content.slideToggle(animationDuration);
var $link = $(`a[name="${location.hash.substring(1)}"]`).nextAll('.token');
$content = itemLinkToContent($link);
if ($content.is(':hidden')) {
toggleItem($link, $content);
}
}
$(openCurrentItemIfClosed);
$(window).on('hashchange', openCurrentItemIfClosed);
// On item link ('token') click, toggle its discussion
$('.token').on('click', function(event) {
if (window.jazzy.docset) {
return;
}
var $link = $(this);
toggleItem($link, itemLinkToContent($link));
// Keeps the document from jumping to the hash.
var href = $(this).attr('href');
var href = $link.attr('href');
if (history.pushState) {
history.pushState({}, '', href);
} else {
@ -36,8 +51,20 @@ $(".token").click(function(event) {
event.preventDefault();
});
// Dumb down quotes within code blocks that delimit strings instead of quotations
// https://github.com/realm/jazzy/issues/714
$("code q").replaceWith(function () {
return ["\"", $(this).contents(), "\""];
// Clicks on links to the current, closed, item need to open the item
$("a:not('.token')").on('click', function() {
if (location == this.href) {
openCurrentItemIfClosed();
}
});
// KaTeX rendering
if ("katex" in window) {
$($('.math').each( (_, element) => {
katex.render(element.textContent, element, {
displayMode: $(element).hasClass('m-block'),
throwOnError: false,
trust: true
});
}))
}

View File

@ -1,9 +1,4 @@
$(function(){
var searchIndex = lunr(function() {
this.ref('url');
this.field('name');
});
var $typeahead = $('[data-typeahead]');
var $form = $typeahead.parents('form');
var searchURL = $form.attr('action');
@ -26,21 +21,34 @@ $(function(){
$form.addClass('loading');
$.getJSON(searchURL).then(function(searchData) {
$.each(searchData, function (url, doc) {
searchIndex.add({url: url, name: doc.name});
const searchIndex = lunr(function() {
this.ref('url');
this.field('name');
this.field('abstract');
for (const [url, doc] of Object.entries(searchData)) {
this.add({url: url, name: doc.name, abstract: doc.abstract});
}
});
$typeahead.typeahead(
{
highlight: true,
minLength: 3
minLength: 3,
autoselect: true
},
{
limit: 10,
display: displayTemplate,
templates: { suggestion: suggestionTemplate },
source: function(query, sync) {
var results = searchIndex.search(query).map(function(result) {
const lcSearch = query.toLowerCase();
const results = searchIndex.query(function(q) {
q.term(lcSearch, { boost: 100 });
q.term(lcSearch, {
boost: 10,
wildcard: lunr.Query.wildcard.TRAILING
});
}).map(function(result) {
var doc = searchData[result.ref];
doc.url = result.ref;
return doc;

File diff suppressed because one or more lines are too long

6
docs/js/lunr.min.js vendored

File diff suppressed because one or more lines are too long

View File

@ -1,18 +1,19 @@
/*!
* typeahead.js 0.11.1
* https://github.com/twitter/typeahead.js
* Copyright 2013-2015 Twitter, Inc. and other contributors; Licensed MIT
* typeahead.js 1.3.1
* https://github.com/corejavascript/typeahead.js
* Copyright 2013-2020 Twitter, Inc. and other contributors; Licensed MIT
*/
(function(root, factory) {
if (typeof define === "function" && define.amd) {
define("typeahead.js", [ "jquery" ], function(a0) {
define([ "jquery" ], function(a0) {
return factory(a0);
});
} else if (typeof exports === "object") {
} else if (typeof module === "object" && module.exports) {
module.exports = factory(require("jquery"));
} else {
factory(jQuery);
factory(root["jQuery"]);
}
})(this, function($) {
var _ = function() {
@ -148,6 +149,13 @@
stringify: function(val) {
return _.isString(val) ? val : JSON.stringify(val);
},
guid: function() {
function _p8(s) {
var p = (Math.random().toString(16) + "000000000").substr(2, 8);
return s ? "-" + p.substr(0, 4) + "-" + p.substr(4, 4) : p;
}
return "tt-" + _p8() + _p8(true) + _p8(true) + _p8();
},
noop: function() {}
};
}();
@ -189,7 +197,7 @@
function buildHtml(c) {
return {
wrapper: '<span class="' + c.wrapper + '"></span>',
menu: '<div class="' + c.menu + '"></div>'
menu: '<div role="listbox" class="' + c.menu + '"></div>'
};
}
function buildSelectors(classes) {
@ -264,10 +272,8 @@
}
_.mixin(EventBus.prototype, {
_trigger: function(type, args) {
var $e;
$e = $.Event(namespace + type);
(args = args || []).unshift($e);
this.$el.trigger.apply(this.$el, args);
var $e = $.Event(namespace + type);
this.$el.trigger.call(this.$el, $e, args || []);
return $e;
},
before: function(type) {
@ -384,7 +390,36 @@
tagName: "strong",
className: null,
wordsOnly: false,
caseSensitive: false
caseSensitive: false,
diacriticInsensitive: false
};
var accented = {
A: "[AaªÀ-Åà-åĀ-ąǍǎȀ-ȃȦȧᴬᵃḀḁẚẠ-ảₐ℀℁℻⒜Ⓐⓐ㍱-㍴㎀-㎄㎈㎉㎩-㎯㏂㏊㏟㏿Aa]",
B: "[BbᴮᵇḂ-ḇℬ⒝Ⓑⓑ㍴㎅-㎇㏃㏈㏔㏝Bb]",
C: "[CcÇçĆ-čᶜ℀ℂ℃℅℆ℭⅭⅽ⒞Ⓒⓒ㍶㎈㎉㎝㎠㎤㏄-㏇Cc]",
D: "[DdĎďDŽ-džDZ-dzᴰᵈḊ-ḓⅅⅆⅮⅾ⒟Ⓓⓓ㋏㍲㍷-㍹㎗㎭-㎯㏅㏈Dd]",
E: "[EeÈ-Ëè-ëĒ-ěȄ-ȇȨȩᴱᵉḘ-ḛẸ-ẽₑ℡ℯℰⅇ⒠Ⓔⓔ㉐㋍㋎Ee]",
F: "[FfᶠḞḟ℉℻⒡Ⓕⓕ㎊-㎌㎙ff-fflFf]",
G: "[GgĜ-ģǦǧǴǵᴳᵍḠḡℊ⒢Ⓖⓖ㋌㋍㎇㎍-㎏㎓㎬㏆㏉㏒㏿Gg]",
H: "[HhĤĥȞȟʰᴴḢ-ḫẖℋ-ℎ⒣Ⓗⓗ㋌㍱㎐-㎔㏊㏋㏗Hh]",
I: "[IiÌ-Ïì-ïĨ-İIJijǏǐȈ-ȋᴵᵢḬḭỈ-ịⁱℐℑℹⅈⅠ-ⅣⅥ-ⅨⅪⅫⅰ-ⅳⅵ-ⅸⅺⅻ⒤Ⓘⓘ㍺㏌㏕fiffiIi]",
J: "[JjIJ-ĵLJ-njǰʲᴶⅉ⒥ⒿⓙⱼJj]",
K: "[KkĶķǨǩᴷᵏḰ-ḵK⒦Ⓚⓚ㎄㎅㎉㎏㎑㎘㎞㎢㎦㎪㎸㎾㏀㏆㏍-㏏Kk]",
L: "[LlĹ-ŀLJ-ljˡᴸḶḷḺ-ḽℒℓ℡Ⅼⅼ⒧Ⓛⓛ㋏㎈㎉㏐-㏓㏕㏖㏿flfflLl]",
M: "[MmᴹᵐḾ-ṃ℠™ℳⅯⅿ⒨Ⓜⓜ㍷-㍹㎃㎆㎎㎒㎖㎙-㎨㎫㎳㎷㎹㎽㎿㏁㏂㏎㏐㏔-㏖㏘㏙㏞㏟Mm]",
N: "[NnÑñŃ-ʼnNJ-njǸǹᴺṄ-ṋⁿℕ№⒩Ⓝⓝ㎁㎋㎚㎱㎵㎻㏌㏑Nn]",
O: "[OoºÒ-Öò-öŌ-őƠơǑǒǪǫȌ-ȏȮȯᴼᵒỌ-ỏₒ℅№ℴ⒪Ⓞⓞ㍵㏇㏒㏖Oo]",
P: "[PpᴾᵖṔ-ṗℙ⒫Ⓟⓟ㉐㍱㍶㎀㎊㎩-㎬㎰㎴㎺㏋㏗-㏚Pp]",
Q: "[Qq⒬Ⓠⓠ㏃]",
R: "[RrŔ-řȐ-ȓʳᴿᵣṘ-ṛṞṟ₨ℛ-ℝ⒭Ⓡⓡ㋍㍴㎭-㎯㏚㏛Rr]",
S: "[SsŚ-šſȘșˢṠ-ṣ₨℁℠⒮Ⓢⓢ㎧㎨㎮-㎳㏛㏜stSs]",
T: "[TtŢ-ťȚțᵀᵗṪ-ṱẗ℡™⒯Ⓣⓣ㉐㋏㎔㏏ſtstTt]",
U: "[UuÙ-Üù-üŨ-ųƯưǓǔȔ-ȗᵁᵘᵤṲ-ṷỤ-ủ℆⒰Ⓤⓤ㍳㍺Uu]",
V: "[VvᵛᵥṼ-ṿⅣ-Ⅷⅳ-ⅷ⒱Ⓥⓥⱽ㋎㍵㎴-㎹㏜㏞Vv]",
W: "[WwŴŵʷᵂẀ-ẉẘ⒲Ⓦⓦ㎺-㎿㏝Ww]",
X: "[XxˣẊ-ẍₓ℻Ⅸ-Ⅻⅸ-ⅻ⒳Ⓧⓧ㏓Xx]",
Y: "[YyÝýÿŶ-ŸȲȳʸẎẏẙỲ-ỹ⒴Ⓨⓨ㏉Yy]",
Z: "[ZzŹ-žDZ-dzᶻẐ-ẕℤℨ⒵Ⓩⓩ㎐-㎔Zz]"
};
return function hightlight(o) {
var regex;
@ -393,7 +428,7 @@
return;
}
o.pattern = _.isArray(o.pattern) ? o.pattern : [ o.pattern ];
regex = getRegex(o.pattern, o.caseSensitive, o.wordsOnly);
regex = getRegex(o.pattern, o.caseSensitive, o.wordsOnly, o.diacriticInsensitive);
traverse(o.node, hightlightTextNode);
function hightlightTextNode(textNode) {
var match, patternNode, wrapperNode;
@ -419,10 +454,17 @@
}
}
};
function getRegex(patterns, caseSensitive, wordsOnly) {
function accent_replacer(chr) {
return accented[chr.toUpperCase()] || chr;
}
function getRegex(patterns, caseSensitive, wordsOnly, diacriticInsensitive) {
var escapedPatterns = [], regexStr;
for (var i = 0, len = patterns.length; i < len; i++) {
escapedPatterns.push(_.escapeRegExChars(patterns[i]));
var escapedWord = _.escapeRegExChars(patterns[i]);
if (diacriticInsensitive) {
escapedWord = escapedWord.replace(/\S/g, accent_replacer);
}
escapedPatterns.push(escapedWord);
}
regexStr = wordsOnly ? "\\b(" + escapedPatterns.join("|") + ")\\b" : "(" + escapedPatterns.join("|") + ")";
return caseSensitive ? new RegExp(regexStr) : new RegExp(regexStr, "i");
@ -441,6 +483,7 @@
40: "down"
};
function Input(o, www) {
var id;
o = o || {};
if (!o.input) {
$.error("input is missing");
@ -448,6 +491,18 @@
www.mixin(this);
this.$hint = $(o.hint);
this.$input = $(o.input);
this.$menu = $(o.menu);
id = this.$input.attr("id") || _.guid();
this.$menu.attr("id", id + "_listbox");
this.$hint.attr({
"aria-hidden": true
});
this.$input.attr({
"aria-owns": id + "_listbox",
role: "combobox",
"aria-autocomplete": "list",
"aria-expanded": false
});
this.query = this.$input.val();
this.queryWhenFocused = this.hasFocus() ? this.query : null;
this.$overflowHelper = buildOverflowHelper(this.$input);
@ -455,6 +510,7 @@
if (this.$hint.length === 0) {
this.setHint = this.getHint = this.clearHint = this.clearHintIfInvalid = _.noop;
}
this.onSync("cursorchange", this._updateDescendent);
}
Input.normalizeQuery = function(str) {
return _.toStr(str).replace(/^\s*/g, "").replace(/\s{2,}/g, " ");
@ -524,6 +580,9 @@
this.trigger("whitespaceChanged", this.query);
}
},
_updateDescendent: function updateDescendent(event, id) {
this.$input.attr("aria-activedescendant", id);
},
bind: function() {
var that = this, onBlur, onFocus, onKeydown, onInput;
onBlur = _.bind(this._onBlur, this);
@ -616,6 +675,9 @@
this.$input.off(".tt");
this.$overflowHelper.remove();
this.$hint = this.$input = this.$overflowHelper = $("<div>");
},
setAriaExpanded: function setAriaExpanded(value) {
this.$input.attr("aria-expanded", value);
}
});
return Input;
@ -647,6 +709,7 @@
"use strict";
var keys, nameGenerator;
keys = {
dataset: "tt-selectable-dataset",
val: "tt-selectable-display",
obj: "tt-selectable-object"
};
@ -666,19 +729,20 @@
}
www.mixin(this);
this.highlight = !!o.highlight;
this.name = o.name || nameGenerator();
this.name = _.toStr(o.name || nameGenerator());
this.limit = o.limit || 5;
this.displayFn = getDisplayFn(o.display || o.displayKey);
this.templates = getTemplates(o.templates, this.displayFn);
this.source = o.source.__ttAdapter ? o.source.__ttAdapter() : o.source;
this.async = _.isUndefined(o.async) ? this.source.length > 2 : !!o.async;
this._resetLastSuggestion();
this.$el = $(o.node).addClass(this.classes.dataset).addClass(this.classes.dataset + "-" + this.name);
this.$el = $(o.node).attr("role", "presentation").addClass(this.classes.dataset).addClass(this.classes.dataset + "-" + this.name);
}
Dataset.extractData = function extractData(el) {
var $el = $(el);
if ($el.data(keys.obj)) {
return {
dataset: $el.data(keys.dataset) || "",
val: $el.data(keys.val) || "",
obj: $el.data(keys.obj) || null
};
@ -697,7 +761,7 @@
} else {
this._empty();
}
this.trigger("rendered", this.name, suggestions, false);
this.trigger("rendered", suggestions, false, this.name);
},
_append: function append(query, suggestions) {
suggestions = suggestions || [];
@ -708,7 +772,7 @@
} else if (!this.$lastSuggestion.length && this.templates.notFound) {
this._renderNotFound(query);
}
this.trigger("rendered", this.name, suggestions, true);
this.trigger("rendered", suggestions, true, this.name);
},
_renderSuggestions: function renderSuggestions(query, suggestions) {
var $fragment;
@ -749,7 +813,7 @@
_.each(suggestions, function getSuggestionNode(suggestion) {
var $el, context;
context = that._injectQuery(query, suggestion);
$el = $(that.templates.suggestion(context)).data(keys.obj, suggestion).data(keys.val, that.displayFn(suggestion)).addClass(that.classes.suggestion + " " + that.classes.selectable);
$el = $(that.templates.suggestion(context)).data(keys.dataset, that.name).data(keys.obj, suggestion).data(keys.val, that.displayFn(suggestion)).addClass(that.classes.suggestion + " " + that.classes.selectable);
fragment.appendChild($el[0]);
});
this.highlight && highlight({
@ -787,7 +851,7 @@
this.cancel = function cancel() {
canceled = true;
that.cancel = $.noop;
that.async && that.trigger("asyncCanceled", query);
that.async && that.trigger("asyncCanceled", query, that.name);
};
this.source(query, sync, async);
!syncCalled && sync([]);
@ -800,16 +864,17 @@
rendered = suggestions.length;
that._overwrite(query, suggestions);
if (rendered < that.limit && that.async) {
that.trigger("asyncRequested", query);
that.trigger("asyncRequested", query, that.name);
}
}
function async(suggestions) {
suggestions = suggestions || [];
if (!canceled && rendered < that.limit) {
that.cancel = $.noop;
rendered += suggestions.length;
that._append(query, suggestions.slice(0, that.limit - rendered));
that.async && that.trigger("asyncReceived", query);
var idx = Math.abs(rendered - that.limit);
rendered += idx;
that._append(query, suggestions.slice(0, idx));
that.async && that.trigger("asyncReceived", query, that.name);
}
}
},
@ -840,10 +905,14 @@
pending: templates.pending && _.templatify(templates.pending),
header: templates.header && _.templatify(templates.header),
footer: templates.footer && _.templatify(templates.footer),
suggestion: templates.suggestion || suggestionTemplate
suggestion: templates.suggestion ? userSuggestionTemplate : suggestionTemplate
};
function userSuggestionTemplate(context) {
var template = templates.suggestion;
return $(template(context)).attr("id", _.guid());
}
function suggestionTemplate(context) {
return $("<div>").text(displayFn(context));
return $('<div role="option">').attr("id", _.guid()).text(displayFn(context));
}
}
function isValidName(str) {
@ -884,10 +953,11 @@
this.trigger.apply(this, arguments);
},
_allDatasetsEmpty: function allDatasetsEmpty() {
return _.every(this.datasets, isDatasetEmpty);
function isDatasetEmpty(dataset) {
return dataset.isEmpty();
}
return _.every(this.datasets, _.bind(function isDatasetEmpty(dataset) {
var isEmpty = dataset.isEmpty();
this.$node.attr("aria-expanded", !isEmpty);
return isEmpty;
}, this));
},
_getSelectables: function getSelectables() {
return this.$node.find(this.selectors.selectable);
@ -912,6 +982,12 @@
var that = this, onSelectableClick;
onSelectableClick = _.bind(this._onSelectableClick, this);
this.$node.on("click.tt", this.selectors.selectable, onSelectableClick);
this.$node.on("mouseover", this.selectors.selectable, function() {
that.setCursor($(this));
});
this.$node.on("mouseleave", function() {
that._removeCursor();
});
_.each(this.datasets, function(dataset) {
dataset.onSync("asyncRequested", that._propagate, that).onSync("asyncCanceled", that._propagate, that).onSync("asyncReceived", that._propagate, that).onSync("rendered", that._onRendered, that).onSync("cleared", that._onCleared, that);
});
@ -921,9 +997,11 @@
return this.$node.hasClass(this.classes.open);
},
open: function open() {
this.$node.scrollTop(0);
this.$node.addClass(this.classes.open);
},
close: function close() {
this.$node.attr("aria-expanded", false);
this.$node.removeClass(this.classes.open);
this._removeCursor();
},
@ -988,6 +1066,55 @@
});
return Menu;
}();
var Status = function() {
"use strict";
function Status(options) {
this.$el = $("<span></span>", {
role: "status",
"aria-live": "polite"
}).css({
position: "absolute",
padding: "0",
border: "0",
height: "1px",
width: "1px",
"margin-bottom": "-1px",
"margin-right": "-1px",
overflow: "hidden",
clip: "rect(0 0 0 0)",
"white-space": "nowrap"
});
options.$input.after(this.$el);
_.each(options.menu.datasets, _.bind(function(dataset) {
if (dataset.onSync) {
dataset.onSync("rendered", _.bind(this.update, this));
dataset.onSync("cleared", _.bind(this.cleared, this));
}
}, this));
}
_.mixin(Status.prototype, {
update: function update(event, suggestions) {
var length = suggestions.length;
var words;
if (length === 1) {
words = {
result: "result",
is: "is"
};
} else {
words = {
result: "results",
is: "are"
};
}
this.$el.text(length + " " + words.result + " " + words.is + " available, use up and down arrow keys to navigate.");
},
cleared: function() {
this.$el.text("");
}
});
return Status;
}();
var DefaultMenu = function() {
"use strict";
var s = Menu.prototype;
@ -1052,6 +1179,7 @@
this.input = o.input;
this.menu = o.menu;
this.enabled = true;
this.autoselect = !!o.autoselect;
this.active = false;
this.input.hasFocus() && this.activate();
this.dir = this.input.getLangDir();
@ -1098,8 +1226,12 @@
_onDatasetCleared: function onDatasetCleared() {
this._updateHint();
},
_onDatasetRendered: function onDatasetRendered(type, dataset, suggestions, async) {
_onDatasetRendered: function onDatasetRendered(type, suggestions, async, dataset) {
this._updateHint();
if (this.autoselect) {
var cursorClass = this.selectors.cursor.substr(1);
this.menu.$node.find(this.selectors.suggestion).first().addClass(cursorClass);
}
this.eventBus.trigger("render", suggestions, async, dataset);
},
_onAsyncRequested: function onAsyncRequested(type, dataset, query) {
@ -1122,15 +1254,25 @@
_onEnterKeyed: function onEnterKeyed(type, $e) {
var $selectable;
if ($selectable = this.menu.getActiveSelectable()) {
this.select($selectable) && $e.preventDefault();
if (this.select($selectable)) {
$e.preventDefault();
$e.stopPropagation();
}
} else if (this.autoselect) {
if (this.select(this.menu.getTopSelectable())) {
$e.preventDefault();
$e.stopPropagation();
}
}
},
_onTabKeyed: function onTabKeyed(type, $e) {
var $selectable;
if ($selectable = this.menu.getActiveSelectable()) {
this.select($selectable) && $e.preventDefault();
} else if ($selectable = this.menu.getTopSelectable()) {
this.autocomplete($selectable) && $e.preventDefault();
} else if (this.autoselect) {
if ($selectable = this.menu.getTopSelectable()) {
this.autocomplete($selectable) && $e.preventDefault();
}
}
},
_onEscKeyed: function onEscKeyed() {
@ -1144,12 +1286,12 @@
},
_onLeftKeyed: function onLeftKeyed() {
if (this.dir === "rtl" && this.input.isCursorAtEnd()) {
this.autocomplete(this.menu.getTopSelectable());
this.autocomplete(this.menu.getActiveSelectable() || this.menu.getTopSelectable());
}
},
_onRightKeyed: function onRightKeyed() {
if (this.dir === "ltr" && this.input.isCursorAtEnd()) {
this.autocomplete(this.menu.getTopSelectable());
this.autocomplete(this.menu.getActiveSelectable() || this.menu.getTopSelectable());
}
},
_onQueryChanged: function onQueryChanged(e, query) {
@ -1226,6 +1368,7 @@
},
open: function open() {
if (!this.isOpen() && !this.eventBus.before("open")) {
this.input.setAriaExpanded(true);
this.menu.open();
this._updateHint();
this.eventBus.trigger("open");
@ -1234,6 +1377,7 @@
},
close: function close() {
if (this.isOpen() && !this.eventBus.before("close")) {
this.input.setAriaExpanded(false);
this.menu.close();
this.input.clearHint();
this.input.resetInputValue();
@ -1249,9 +1393,9 @@
},
select: function select($selectable) {
var data = this.menu.getSelectableData($selectable);
if (data && !this.eventBus.before("select", data.obj)) {
if (data && !this.eventBus.before("select", data.obj, data.dataset)) {
this.input.setQuery(data.val, true);
this.eventBus.trigger("select", data.obj);
this.eventBus.trigger("select", data.obj, data.dataset);
this.close();
return true;
}
@ -1262,29 +1406,34 @@
query = this.input.getQuery();
data = this.menu.getSelectableData($selectable);
isValid = data && query !== data.val;
if (isValid && !this.eventBus.before("autocomplete", data.obj)) {
if (isValid && !this.eventBus.before("autocomplete", data.obj, data.dataset)) {
this.input.setQuery(data.val);
this.eventBus.trigger("autocomplete", data.obj);
this.eventBus.trigger("autocomplete", data.obj, data.dataset);
return true;
}
return false;
},
moveCursor: function moveCursor(delta) {
var query, $candidate, data, payload, cancelMove;
var query, $candidate, data, suggestion, datasetName, cancelMove, id;
query = this.input.getQuery();
$candidate = this.menu.selectableRelativeToCursor(delta);
data = this.menu.getSelectableData($candidate);
payload = data ? data.obj : null;
suggestion = data ? data.obj : null;
datasetName = data ? data.dataset : null;
id = $candidate ? $candidate.attr("id") : null;
this.input.trigger("cursorchange", id);
cancelMove = this._minLengthMet() && this.menu.update(query);
if (!cancelMove && !this.eventBus.before("cursorchange", payload)) {
if (!cancelMove && !this.eventBus.before("cursorchange", suggestion, datasetName)) {
this.menu.setCursor($candidate);
if (data) {
this.input.setInputValue(data.val);
if (typeof data.val === "string") {
this.input.setInputValue(data.val);
}
} else {
this.input.resetInputValue();
this._updateHint();
}
this.eventBus.trigger("cursorchange", payload);
this.eventBus.trigger("cursorchange", suggestion, datasetName);
return true;
}
return false;
@ -1322,7 +1471,7 @@
www = WWW(o.classNames);
return this.each(attach);
function attach() {
var $input, $wrapper, $hint, $menu, defaultHint, defaultMenu, eventBus, input, menu, typeahead, MenuConstructor;
var $input, $wrapper, $hint, $menu, defaultHint, defaultMenu, eventBus, input, menu, status, typeahead, MenuConstructor;
_.each(datasets, function(d) {
d.highlight = !!o.highlight;
});
@ -1347,17 +1496,23 @@
});
input = new Input({
hint: $hint,
input: $input
input: $input,
menu: $menu
}, www);
menu = new MenuConstructor({
node: $menu,
datasets: datasets
}, www);
status = new Status({
$input: $input,
menu: menu
});
typeahead = new Typeahead({
input: input,
menu: menu,
eventBus: eventBus,
minLength: o.minLength
minLength: o.minLength,
autoselect: o.autoselect
}, www);
$input.data(keys.www, www);
$input.data(keys.typeahead, typeahead);
@ -1450,7 +1605,7 @@
return query;
} else {
ttEach(this, function(t) {
t.setVal(newVal);
t.setVal(_.toStr(newVal));
});
return this;
}
@ -1481,8 +1636,10 @@
});
}
function buildHintFromInput($input, www) {
return $input.clone().addClass(www.classes.hint).removeData().css(www.css.hint).css(getBackgroundStyles($input)).prop("readonly", true).removeAttr("id name placeholder required").attr({
autocomplete: "off",
return $input.clone().addClass(www.classes.hint).removeData().css(www.css.hint).css(getBackgroundStyles($input)).prop({
readonly: true,
required: false
}).removeAttr("id name placeholder").removeClass("required").attr({
spellcheck: "false",
tabindex: -1
});
@ -1495,7 +1652,6 @@
style: $input.attr("style")
});
$input.addClass(www.classes.input).attr({
autocomplete: "off",
spellcheck: false
});
try {

File diff suppressed because one or more lines are too long