Fix iOS compilation for chromium roll
Fix: FAILED: obj/examples/socketrocket/SRWebSocket.o error: block implicitly retains 'self'; explicitly mention 'self' to indicate this is intended behavior [-Werror,-Wimplicit-retain-self] Bug: None Change-Id: I55e6c8ebf81d80669308d9249d42dd158b9a09dd Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215682 Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org> Reviewed-by: Kári Helgason <kthelgason@webrtc.org> Commit-Queue: Artem Titov <titovartem@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33792}
This commit is contained in:
@ -484,10 +484,11 @@ static __strong NSData *CRLFCRLF;
|
||||
}
|
||||
|
||||
[self _readUntilHeaderCompleteWithCallback:^(SRWebSocket *self, NSData *data) {
|
||||
CFHTTPMessageAppendBytes(_receivedHTTPHeaders, (const UInt8 *)data.bytes, data.length);
|
||||
CFHTTPMessageAppendBytes(self->_receivedHTTPHeaders, (const UInt8 *)data.bytes, data.length);
|
||||
|
||||
if (CFHTTPMessageIsHeaderComplete(_receivedHTTPHeaders)) {
|
||||
SRFastLog(@"Finished reading headers %@", CFBridgingRelease(CFHTTPMessageCopyAllHeaderFields(_receivedHTTPHeaders)));
|
||||
if (CFHTTPMessageIsHeaderComplete(self->_receivedHTTPHeaders)) {
|
||||
SRFastLog(@"Finished reading headers %@",
|
||||
CFBridgingRelease(CFHTTPMessageCopyAllHeaderFields(self->_receivedHTTPHeaders)));
|
||||
[self _HTTPHeadersDidFinish];
|
||||
} else {
|
||||
[self _readHTTPHeader];
|
||||
@ -665,7 +666,7 @@ static __strong NSData *CRLFCRLF;
|
||||
// Need to shunt this on the _callbackQueue first to see if they received any messages
|
||||
[self _performDelegateBlock:^{
|
||||
[self closeWithCode:SRStatusCodeProtocolError reason:message];
|
||||
dispatch_async(_workQueue, ^{
|
||||
dispatch_async(self->_workQueue, ^{
|
||||
[self _disconnect];
|
||||
});
|
||||
}];
|
||||
@ -675,7 +676,7 @@ static __strong NSData *CRLFCRLF;
|
||||
{
|
||||
dispatch_async(_workQueue, ^{
|
||||
if (self.readyState != SR_CLOSED) {
|
||||
_failed = YES;
|
||||
self->_failed = YES;
|
||||
[self _performDelegateBlock:^{
|
||||
if ([self.delegate respondsToSelector:@selector(webSocket:didFailWithError:)]) {
|
||||
[self.delegate webSocket:self didFailWithError:error];
|
||||
@ -683,7 +684,7 @@ static __strong NSData *CRLFCRLF;
|
||||
}];
|
||||
|
||||
self.readyState = SR_CLOSED;
|
||||
_selfRetain = nil;
|
||||
self->_selfRetain = nil;
|
||||
|
||||
SRFastLog(@"Failing with error %@", error.localizedDescription);
|
||||
|
||||
@ -735,7 +736,7 @@ static __strong NSData *CRLFCRLF;
|
||||
{
|
||||
// Need to pingpong this off _callbackQueue first to make sure messages happen in order
|
||||
[self _performDelegateBlock:^{
|
||||
dispatch_async(_workQueue, ^{
|
||||
dispatch_async(self->_workQueue, ^{
|
||||
[self _sendFrameWithOpcode:SROpCodePong data:pingData];
|
||||
});
|
||||
}];
|
||||
@ -1014,7 +1015,7 @@ static const uint8_t SRPayloadLenMask = 0x7F;
|
||||
[self _closeWithProtocolError:@"Client must receive unmasked data"];
|
||||
}
|
||||
|
||||
size_t extra_bytes_needed = header.masked ? sizeof(_currentReadMaskKey) : 0;
|
||||
size_t extra_bytes_needed = header.masked ? sizeof(self->_currentReadMaskKey) : 0;
|
||||
|
||||
if (header.payload_length == 126) {
|
||||
extra_bytes_needed += sizeof(uint16_t);
|
||||
@ -1045,8 +1046,10 @@ static const uint8_t SRPayloadLenMask = 0x7F;
|
||||
|
||||
|
||||
if (header.masked) {
|
||||
assert(mapped_size >= sizeof(_currentReadMaskOffset) + offset);
|
||||
memcpy(self->_currentReadMaskKey, ((uint8_t *)mapped_buffer) + offset, sizeof(self->_currentReadMaskKey));
|
||||
assert(mapped_size >= sizeof(self->_currentReadMaskOffset) + offset);
|
||||
memcpy(self->_currentReadMaskKey,
|
||||
((uint8_t *)mapped_buffer) + offset,
|
||||
sizeof(self->_currentReadMaskKey));
|
||||
}
|
||||
|
||||
[self _handleFrameHeader:header curData:self->_currentFrameData];
|
||||
@ -1058,12 +1061,12 @@ static const uint8_t SRPayloadLenMask = 0x7F;
|
||||
- (void)_readFrameNew;
|
||||
{
|
||||
dispatch_async(_workQueue, ^{
|
||||
[_currentFrameData setLength:0];
|
||||
[self->_currentFrameData setLength:0];
|
||||
|
||||
_currentFrameOpcode = 0;
|
||||
_currentFrameCount = 0;
|
||||
_readOpCount = 0;
|
||||
_currentStringScanPosition = 0;
|
||||
self->_currentFrameOpcode = 0;
|
||||
self->_currentFrameCount = 0;
|
||||
self->_readOpCount = 0;
|
||||
self->_currentStringScanPosition = 0;
|
||||
|
||||
[self _readFrameContinue];
|
||||
});
|
||||
@ -1107,7 +1110,10 @@ static const uint8_t SRPayloadLenMask = 0x7F;
|
||||
if (!_failed) {
|
||||
[self _performDelegateBlock:^{
|
||||
if ([self.delegate respondsToSelector:@selector(webSocket:didCloseWithCode:reason:wasClean:)]) {
|
||||
[self.delegate webSocket:self didCloseWithCode:_closeCode reason:_closeReason wasClean:YES];
|
||||
[self.delegate webSocket:self
|
||||
didCloseWithCode:self->_closeCode
|
||||
reason:self->_closeReason
|
||||
wasClean:YES];
|
||||
}
|
||||
}];
|
||||
}
|
||||
@ -1420,9 +1426,9 @@ static const size_t SRFrameHeaderOverhead = 32;
|
||||
if (self.readyState >= SR_CLOSING) {
|
||||
return;
|
||||
}
|
||||
assert(_readBuffer);
|
||||
assert(self->_readBuffer);
|
||||
|
||||
if (self.readyState == SR_CONNECTING && aStream == _inputStream) {
|
||||
if (self.readyState == SR_CONNECTING && aStream == self->_inputStream) {
|
||||
[self didConnect];
|
||||
}
|
||||
[self _pumpWriting];
|
||||
@ -1434,8 +1440,8 @@ static const size_t SRFrameHeaderOverhead = 32;
|
||||
SRFastLog(@"NSStreamEventErrorOccurred %@ %@", aStream, [[aStream streamError] copy]);
|
||||
/// TODO specify error better!
|
||||
[self _failWithError:aStream.streamError];
|
||||
_readBufferOffset = 0;
|
||||
[_readBuffer setLength:0];
|
||||
self->_readBufferOffset = 0;
|
||||
[self->_readBuffer setLength:0];
|
||||
break;
|
||||
|
||||
}
|
||||
@ -1448,15 +1454,20 @@ static const size_t SRFrameHeaderOverhead = 32;
|
||||
} else {
|
||||
if (self.readyState != SR_CLOSED) {
|
||||
self.readyState = SR_CLOSED;
|
||||
_selfRetain = nil;
|
||||
self->_selfRetain = nil;
|
||||
}
|
||||
|
||||
if (!_sentClose && !_failed) {
|
||||
_sentClose = YES;
|
||||
// If we get closed in this state it's probably not clean because we should be sending this when we send messages
|
||||
[self _performDelegateBlock:^{
|
||||
if (!self->_sentClose && !self->_failed) {
|
||||
self->_sentClose = YES;
|
||||
// If we get closed in this state it's probably not clean because we should be
|
||||
// sending this when we send messages
|
||||
[self
|
||||
_performDelegateBlock:^{
|
||||
if ([self.delegate respondsToSelector:@selector(webSocket:didCloseWithCode:reason:wasClean:)]) {
|
||||
[self.delegate webSocket:self didCloseWithCode:SRStatusCodeGoingAway reason:@"Stream end encountered" wasClean:NO];
|
||||
[self.delegate webSocket:self
|
||||
didCloseWithCode:SRStatusCodeGoingAway
|
||||
reason:@"Stream end encountered"
|
||||
wasClean:NO];
|
||||
}
|
||||
}];
|
||||
}
|
||||
@ -1470,11 +1481,11 @@ static const size_t SRFrameHeaderOverhead = 32;
|
||||
const int bufferSize = 2048;
|
||||
uint8_t buffer[bufferSize];
|
||||
|
||||
while (_inputStream.hasBytesAvailable) {
|
||||
NSInteger bytes_read = [_inputStream read:buffer maxLength:bufferSize];
|
||||
while (self->_inputStream.hasBytesAvailable) {
|
||||
NSInteger bytes_read = [self->_inputStream read:buffer maxLength:bufferSize];
|
||||
|
||||
if (bytes_read > 0) {
|
||||
[_readBuffer appendBytes:buffer length:bytes_read];
|
||||
[self->_readBuffer appendBytes:buffer length:bytes_read];
|
||||
} else if (bytes_read < 0) {
|
||||
[self _failWithError:_inputStream.streamError];
|
||||
}
|
||||
|
Reference in New Issue
Block a user