mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-04-24 04:16:00 +08:00
Make RCTPackagerConnection a singleton
Reviewed By: fromcelticpark Differential Revision: D6361741 fbshipit-source-id: 96e92dff5dd3d7aa1f7555442b0eba90e7dbf47c
This commit is contained in:
committed by
Facebook Github Bot
parent
c91d87213e
commit
9180d4eb82
@@ -58,8 +58,6 @@ static void my_os_log_error_impl(void *dso, os_log_t log, os_log_type_t type, co
|
||||
RCTSRWebSocket *_socket;
|
||||
}
|
||||
|
||||
@synthesize delegate = _delegate;
|
||||
|
||||
+ (void)load
|
||||
{
|
||||
static dispatch_once_t onceToken;
|
||||
@@ -75,14 +73,20 @@ static void my_os_log_error_impl(void *dso, os_log_t log, os_log_type_t type, co
|
||||
});
|
||||
}
|
||||
|
||||
- (instancetype)initWithURL:(NSURL *)url
|
||||
- (instancetype)initWithURL:(NSURL *)url queue:(dispatch_queue_t)queue
|
||||
{
|
||||
if (self = [super init]) {
|
||||
_url = url;
|
||||
_delegateDispatchQueue = queue;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (instancetype)initWithURL:(NSURL *)url
|
||||
{
|
||||
return [self initWithURL:url queue:dispatch_get_main_queue()];
|
||||
}
|
||||
|
||||
- (void)send:(id)data
|
||||
{
|
||||
[_socket send:data];
|
||||
@@ -93,9 +97,7 @@ static void my_os_log_error_impl(void *dso, os_log_t log, os_log_type_t type, co
|
||||
[self stop];
|
||||
_socket = [[RCTSRWebSocket alloc] initWithURL:_url];
|
||||
_socket.delegate = self;
|
||||
if (_delegateDispatchQueue) {
|
||||
[_socket setDelegateDispatchQueue:_delegateDispatchQueue];
|
||||
}
|
||||
[_socket setDelegateDispatchQueue:_delegateDispatchQueue];
|
||||
[_socket open];
|
||||
}
|
||||
|
||||
@@ -108,9 +110,7 @@ static void my_os_log_error_impl(void *dso, os_log_t log, os_log_type_t type, co
|
||||
|
||||
- (void)webSocket:(RCTSRWebSocket *)webSocket didReceiveMessage:(id)message
|
||||
{
|
||||
if (_delegate) {
|
||||
[_delegate webSocket:webSocket didReceiveMessage:message];
|
||||
}
|
||||
[_delegate reconnectingWebSocket:self didReceiveMessage:message];
|
||||
}
|
||||
|
||||
- (void)reconnect
|
||||
@@ -126,17 +126,18 @@ static void my_os_log_error_impl(void *dso, os_log_t log, os_log_type_t type, co
|
||||
|
||||
- (void)webSocketDidOpen:(RCTSRWebSocket *)webSocket
|
||||
{
|
||||
[self.delegate webSocketDidOpen:webSocket];
|
||||
[_delegate reconnectingWebSocketDidOpen:self];
|
||||
}
|
||||
|
||||
- (void)webSocket:(RCTSRWebSocket *)webSocket didFailWithError:(NSError *)error
|
||||
{
|
||||
[_delegate reconnectingWebSocketDidClose:self];
|
||||
[self reconnect];
|
||||
}
|
||||
|
||||
- (void)webSocket:(RCTSRWebSocket *)webSocket didCloseWithCode:(NSInteger)code reason:(NSString *)reason wasClean:(BOOL)wasClean
|
||||
{
|
||||
[self.delegate webSocket:webSocket didCloseWithCode:code reason:reason wasClean:wasClean];
|
||||
[_delegate reconnectingWebSocketDidClose:self];
|
||||
[self reconnect];
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user