You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
session-ios/SignalUtilitiesKit/TSSocketManager.m

81 lines
1.3 KiB
Objective-C

//
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
//
#import "TSSocketManager.h"
#import "SSKEnvironment.h"
#import "SSKAsserts.h"
#import <SessionProtocolKit/SessionProtocolKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface TSSocketManager ()
@property (nonatomic) OWSWebSocket *websocket;
@end
#pragma mark -
@implementation TSSocketManager
- (instancetype)init
{
self = [super init];
if (!self) {
return self;
}
OWSAssertIsOnMainThread();
_websocket = [[OWSWebSocket alloc] init];
OWSSingletonAssert();
return self;
}
- (void)dealloc
{
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
+ (instancetype)shared
{
OWSAssert(SSKEnvironment.shared.socketManager);
return SSKEnvironment.shared.socketManager;
}
- (BOOL)canMakeRequests
{
return self.websocket.canMakeRequests;
}
- (void)makeRequest:(TSRequest *)request
success:(TSSocketMessageSuccess)success
failure:(TSSocketMessageFailure)failure
{
[self.websocket makeRequest:request success:success failure:failure];
}
- (void)requestSocketOpen
{
[self.websocket requestSocketOpen];
}
- (void)cycleSocket
{
[self.websocket cycleSocket];
}
- (OWSWebSocketState)highestSocketState
{
return self.websocket.state;
}
@end
NS_ASSUME_NONNULL_END