4646 < li class ="nav-group-name ">
4747 < a class ="nav-group-name-link " href ="Guides.html "> Guides</ a >
4848 < ul class ="nav-group-tasks ">
49+ < li class ="nav-group-task ">
50+ < a class ="nav-group-task-link " href ="12to13.html "> 12to13</ a >
51+ </ li >
4952 < li class ="nav-group-task ">
5053 < a class ="nav-group-task-link " href ="faq.html "> FAQ</ a >
5154 </ li >
6669 < li class ="nav-group-task ">
6770 < a class ="nav-group-task-link " href ="Classes/SocketAnyEvent.html "> SocketAnyEvent</ a >
6871 </ li >
69- < li class ="nav-group-task ">
70- < a class ="nav-group-task-link " href ="Classes/SocketClientManager.html "> SocketClientManager</ a >
71- </ li >
7272 < li class ="nav-group-task ">
7373 < a class ="nav-group-task-link " href ="Classes/SocketEngine.html "> SocketEngine</ a >
7474 </ li >
7575 < li class ="nav-group-task ">
7676 < a class ="nav-group-task-link " href ="Classes/SocketIOClient.html "> SocketIOClient</ a >
7777 </ li >
78+ < li class ="nav-group-task ">
79+ < a class ="nav-group-task-link " href ="Classes/SocketManager.html "> SocketManager</ a >
80+ </ li >
7881 </ ul >
7982 </ li >
8083 < li class ="nav-group-name ">
9396 < a class ="nav-group-task-link " href ="Enums/SocketIOClientOption.html "> SocketIOClientOption</ a >
9497 </ li >
9598 < li class ="nav-group-task ">
96- < a class ="nav-group-task-link " href ="Enums/SocketIOClientStatus .html "> SocketIOClientStatus </ a >
99+ < a class ="nav-group-task-link " href ="Enums/SocketIOStatus .html "> SocketIOStatus </ a >
97100 </ li >
98101 < li class ="nav-group-task ">
99102 < a class ="nav-group-task-link " href ="Enums/SocketParsableError.html "> SocketParsableError</ a >
103106 < li class ="nav-group-name ">
104107 < a class ="nav-group-name-link " href ="Protocols.html "> Protocols</ a >
105108 < ul class ="nav-group-tasks ">
109+ < li class ="nav-group-task ">
110+ < a class ="nav-group-task-link " href ="Protocols/ConfigSettable.html "> ConfigSettable</ a >
111+ </ li >
106112 < li class ="nav-group-task ">
107113 < a class ="nav-group-task-link " href ="Protocols/SocketData.html "> SocketData</ a >
108114 </ li >
115+ < li class ="nav-group-task ">
116+ < a class ="nav-group-task-link " href ="Protocols/SocketDataBufferable.html "> SocketDataBufferable</ a >
117+ </ li >
109118 < li class ="nav-group-task ">
110119 < a class ="nav-group-task-link " href ="Protocols/SocketEngineClient.html "> SocketEngineClient</ a >
111120 </ li >
124133 < li class ="nav-group-task ">
125134 < a class ="nav-group-task-link " href ="Protocols/SocketLogger.html "> SocketLogger</ a >
126135 </ li >
136+ < li class ="nav-group-task ">
137+ < a class ="nav-group-task-link " href ="Protocols/SocketManagerSpec.html "> SocketManagerSpec</ a >
138+ </ li >
127139 < li class ="nav-group-task ">
128140 < a class ="nav-group-task-link " href ="Protocols/SocketParsable.html "> SocketParsable</ a >
129141 </ li >
@@ -195,7 +207,8 @@ <h1>Classes</h1>
195207 < h4 > Declaration</ h4 >
196208 < div class ="language ">
197209 < p class ="aside-title "> Swift</ p >
198- < pre class ="highlight "> < code > < span class ="kd "> public</ span > < span class ="kd "> final</ 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 > </ code > </ pre >
210+ < pre class ="highlight "> < code > < span class ="kd "> public</ span > < span class ="kd "> final</ 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 >
211+ < span class ="kt "> < a href ="Protocols/ConfigSettable.html "> ConfigSettable</ a > </ span > </ code > </ pre >
199212
200213 </ div >
201214 </ div >
@@ -319,19 +332,26 @@ <h4>Declaration</h4>
319332 < section class ="section ">
320333 < div class ="pointer "> </ div >
321334 < div class ="abstract ">
322- < p > The main class for SocketIOClientSwift .</ p >
335+ < p > Represents a socket.io-client .</ p >
323336
324- < p > < strong > NOTE </ strong > : The client is not thread/queue safe, all interaction with the socket should be done on the < code > handleQueue </ code > </ p >
337+ < p > Clients are created through a < code > < a href =" Classes/SocketManager.html " > SocketManager </ a > </ code > , which owns the < code > < a href =" Protocols/SocketEngineSpec.html " > SocketEngineSpec </ a > </ code > that controls the connection to the server. </ p >
325338
326- < p > Represents a socket.io-client. Most interaction with socket.io will be through this class.</ p >
339+ < p > For example:</ p >
340+ < pre class ="highlight swift "> < code > < span class ="c1 "> // Create a socket for the /swift namespace</ span >
341+ < 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 ="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 >
342+
343+ < span class ="c1 "> // Add some handlers and connect</ span >
344+ </ code > </ pre >
345+
346+ < p > < strong > NOTE</ strong > : The client is not thread/queue safe, all interaction with the socket should be done on the < code > manager.handleQueue</ code > </ p >
327347
328348 < a href ="Classes/SocketIOClient.html " class ="slightly-smaller "> See more</ a >
329349 </ div >
330350 < div class ="declaration ">
331351 < h4 > Declaration</ h4 >
332352 < div class ="language ">
333353 < p class ="aside-title "> Swift</ p >
334- < pre class ="highlight "> < code > < span class ="n "> open</ span > < span class ="kd "> class</ span > < span class ="kt "> SocketIOClient</ span > < span class ="p "> :</ span > < span class ="kt "> NSObject</ span > < span class ="p "> ,</ span > < span class ="kt "> < a href ="Protocols/SocketIOClientSpec.html "> SocketIOClientSpec</ a > </ span > < span class =" p " > , </ span > < span class =" kt " > < a href =" Protocols/SocketEngineClient.html " > SocketEngineClient </ a > </ span > < span class =" p " > , </ span > < span class =" kt " > < a href =" Protocols/SocketParsable.html " > SocketParsable </ a > </ span > < /code > </ pre >
354+ < pre class ="highlight "> < code > < span class ="n "> open</ span > < span class ="kd "> class</ span > < span class ="kt "> SocketIOClient</ span > < span class ="p "> :</ span > < span class ="kt "> NSObject</ span > < span class ="p "> ,</ span > < span class ="kt "> < a href ="Protocols/SocketIOClientSpec.html "> SocketIOClientSpec</ a > </ span > </ code > </ pre >
335355
336356 </ div >
337357 </ div >
@@ -377,40 +397,41 @@ <h4>Declaration</h4>
377397 < li class ="item ">
378398 < div >
379399 < code >
380- < a name ="/c:@M@SocketIO@objc(cs)SocketClientManager "> </ a >
381- < a name ="//apple_ref/swift/Class/SocketClientManager " class ="dashAnchor "> </ a >
382- < a class ="token " href ="#/c:@M@SocketIO@objc(cs)SocketClientManager " > SocketClientManager </ a >
400+ < a name ="/c:@M@SocketIO@objc(cs)SocketManager "> </ a >
401+ < a name ="//apple_ref/swift/Class/SocketManager " class ="dashAnchor "> </ a >
402+ < a class ="token " href ="#/c:@M@SocketIO@objc(cs)SocketManager " > SocketManager </ a >
383403 </ code >
384404 </ div >
385405 < div class ="height-container ">
386406 < div class ="pointer-container "> </ div >
387407 < section class ="section ">
388408 < div class ="pointer "> </ div >
389409 < div class ="abstract ">
390- < p > Experimental socket manager.</ p >
391-
392- < p > API subject to change.</ p >
410+ < p > A manager for a socket.io connection.</ p >
393411
394- < p > Can be used to persist sockets across ViewControllers .</ p >
412+ < p > A < code > SocketManager </ code > is responsible for multiplexing multiple namespaces through a single < code > < a href =" Protocols/SocketEngineSpec.html " > SocketEngineSpec </ a > </ code > .</ p >
395413
396- < p > Sockets are strongly stored, so be sure to remove them once they are no
397- longer needed.</ p >
414+ < p > Example:</ p >
415+ < 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 >
416+ < 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 >
417+ < 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 >
398418
399- < p > Example usage:</ p >
400- < pre class ="highlight plaintext "> < code > let manager = SocketClientManager.sharedManager
401- manager["room1"] = socket1
402- manager["room2"] = socket2
403- manager.removeSocket(socket: socket2)
404- manager["room1"]?.emit("hello")
419+ < span class ="c1 "> // defaultNamespaceSocket and swiftSocket both share a single connection to the server</ span >
405420</ code > </ pre >
406421
407- < a href ="Classes/SocketClientManager.html " class ="slightly-smaller "> See more</ a >
422+ < p > Sockets created through the manager are retained by the manager. So at the very least, a single strong reference
423+ to the manager must be maintained to keep sockets alive.</ p >
424+
425+ < 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,
426+ or call one of the < code > disconnectSocket</ code > methods on this class.</ p >
427+
428+ < a href ="Classes/SocketManager.html " class ="slightly-smaller "> See more</ a >
408429 </ div >
409430 < div class ="declaration ">
410431 < h4 > Declaration</ h4 >
411432 < div class ="language ">
412433 < p class ="aside-title "> Swift</ p >
413- < pre class ="highlight "> < code > < span class ="n "> open</ span > < span class ="kd "> class</ span > < span class ="kt "> SocketClientManager </ span > < span class ="p "> :</ span > < span class ="kt "> NSObject</ span > </ code > </ pre >
434+ < pre class ="highlight "> < code > < span class ="n "> 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 >
414435
415436 </ div >
416437 </ div >
@@ -425,8 +446,8 @@ <h4>Declaration</h4>
425446 </ article >
426447 </ div >
427448 < section class ="footer ">
428- < p > © 2017 < a class ="link " href ="https://github.com/socketio/socket.io-client-swift " target ="_blank " rel ="external "> Erik</ a > . All rights reserved. (Last updated: 2017-10-05 )</ p >
429- < p > Generated by < a class ="link " href ="https://github.com/realm/jazzy " target ="_blank " rel ="external "> jazzy ♪♫ v0.8.4 </ a > , a < a class ="link " href ="http://realm.io " target ="_blank " rel ="external "> Realm</ a > project.</ p >
449+ < p > © 2017 < a class ="link " href ="https://github.com/socketio/socket.io-client-swift " target ="_blank " rel ="external "> Erik</ a > . All rights reserved. (Last updated: 2017-11-12 )</ p >
450+ < p > Generated by < a class ="link " href ="https://github.com/realm/jazzy " target ="_blank " rel ="external "> jazzy ♪♫ v0.9.0 </ a > , a < a class ="link " href ="http://realm.io " target ="_blank " rel ="external "> Realm</ a > project.</ p >
430451 </ section >
431452 </ body >
432453</ div >
0 commit comments