no message

This commit is contained in:
Peter 2016-02-23 04:08:47 +03:00
parent a16591f636
commit 57a9c196b9
4 changed files with 24 additions and 8 deletions

View File

@ -181,11 +181,13 @@ typedef struct {
[bestTcp4Signals addObject:signal];
}
SSignal *signal = [[[[self httpConnectionWithAddress:address] then:[SSignal single:httpTransportScheme]] timeout:5.0 onQueue:[SQueue concurrentDefaultQueue] orSignal:[SSignal fail:nil]] catch:^SSignal *(__unused id error)
{
return [SSignal complete];
}];
[bestHttpSignals addObject:signal];
if (!address.restrictToTcp) {
SSignal *signal = [[[[self httpConnectionWithAddress:address] then:[SSignal single:httpTransportScheme]] timeout:5.0 onQueue:[SQueue concurrentDefaultQueue] orSignal:[SSignal fail:nil]] catch:^SSignal *(__unused id error)
{
return [SSignal complete];
}];
[bestHttpSignals addObject:signal];
}
}
SSignal *repeatDelaySignal = [[SSignal complete] delay:1.0 onQueue:[SQueue concurrentDefaultQueue]];

View File

@ -14,8 +14,9 @@
@property (nonatomic, strong, readonly) NSString *ip;
@property (nonatomic, readonly) uint16_t port;
@property (nonatomic, readonly) bool preferForMedia;
@property (nonatomic, readonly) bool restrictToTcp;
- (instancetype)initWithIp:(NSString *)ip port:(uint16_t)port preferForMedia:(bool)preferForMedia;
- (instancetype)initWithIp:(NSString *)ip port:(uint16_t)port preferForMedia:(bool)preferForMedia restrictToTcp:(bool)restrictToTcp;
- (BOOL)isEqualToAddress:(MTDatacenterAddress *)other;
- (BOOL)isIpv6;

View File

@ -13,7 +13,7 @@
@implementation MTDatacenterAddress
- (instancetype)initWithIp:(NSString *)ip port:(uint16_t)port preferForMedia:(bool)preferForMedia
- (instancetype)initWithIp:(NSString *)ip port:(uint16_t)port preferForMedia:(bool)preferForMedia restrictToTcp:(bool)restrictToTcp
{
self = [super init];
if (self != nil)
@ -21,6 +21,7 @@
_ip = ip;
_port = port;
_preferForMedia = preferForMedia;
_restrictToTcp = restrictToTcp;
}
return self;
}
@ -34,6 +35,7 @@
_host = [aDecoder decodeObjectForKey:@"host"];
_port = (uint16_t)[aDecoder decodeIntForKey:@"port"];
_preferForMedia = [aDecoder decodeBoolForKey:@"preferForMedia"];
_restrictToTcp = [aDecoder decodeBoolForKey:@"restrictToTcp"];
}
return self;
}
@ -44,6 +46,7 @@
[aCoder encodeObject:_host forKey:@"host"];
[aCoder encodeInt:_port forKey:@"port"];
[aCoder encodeBool:_preferForMedia forKey:@"preferForMedia"];
[aCoder encodeBool:_restrictToTcp forKey:@"restrictToTcp"];
}
- (BOOL)isEqual:(id)object
@ -68,6 +71,10 @@
if (_preferForMedia != other.preferForMedia)
return false;
if (_restrictToTcp != other.restrictToTcp) {
return false;
}
return true;
}

View File

@ -618,7 +618,13 @@ static const NSTimeInterval MTTcpTransportSleepWatchdogTimeout = 60.0;
{
if (transaction.payload.length != 0)
{
if (transportContext.connection != nil)
bool acceptTransaction = true;
/*#ifdef DEBUG
if (arc4random_uniform(10) < 5) {
acceptTransaction = false;
}
#endif*/
if (transportContext.connection != nil && acceptTransaction)
{
id transactionId = transportContext.connection.internalId;
[transportContext.connection sendDatas:@[transaction.payload] completion:^(bool success)