Revert "[WebSocket] Frame concatenation"
This reverts commit 53354cd967d60115f9ab2bd833d3b0650bbd175c.
This commit is contained in:
parent
a563fa3b0e
commit
b05552b219
@ -75,8 +75,4 @@ class Frame implements FrameInterface {
|
||||
|
||||
return substr($this->_data, 1, strlen($this->_data) - 2);
|
||||
}
|
||||
|
||||
public function extractOverflow() {
|
||||
return '';
|
||||
}
|
||||
}
|
@ -38,7 +38,7 @@ class Frame implements FrameInterface {
|
||||
return false;
|
||||
}
|
||||
|
||||
return $this->_bytes_rec >= $payload_length + $payload_start;
|
||||
return $payload_length + $payload_start === $this->_bytes_rec;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -223,26 +223,4 @@ class Frame implements FrameInterface {
|
||||
|
||||
return $payload;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sometimes clients will concatinate more than one frame over the wire
|
||||
* This method will take the extra bytes off the end and return them
|
||||
* @todo Consider returning new Frame
|
||||
* @return string
|
||||
*/
|
||||
public function extractOverflow() {
|
||||
if ($this->isCoalesced()) {
|
||||
$endPoint = $this->getPayloadLength();
|
||||
$endPoint += $this->getPayloadStartingByte();
|
||||
|
||||
if ($this->_bytes_rec > $endPoint) {
|
||||
$overflow = substr($this->_data, $endPoint);
|
||||
$this->_data = substr($this->_data, 0, $endPoint);
|
||||
|
||||
return $overflow;
|
||||
}
|
||||
}
|
||||
|
||||
return '';
|
||||
}
|
||||
}
|
@ -122,10 +122,7 @@ class WsServer implements MessageComponentInterface {
|
||||
// Control frames (ping, pong, close) can be sent in between a fragmented message
|
||||
|
||||
$from->WebSocket->message->addFrame($from->WebSocket->frame);
|
||||
$nextFrame = $from->WebSocket->version->newFrame();
|
||||
$nextFrame->addBuffer($from->WebSocket->frame->extractOverflow());
|
||||
unset($from->WebSocket->frame);
|
||||
$from->WebSocket->frame = $nextFrame;
|
||||
}
|
||||
|
||||
if ($from->WebSocket->message->isCoalesced()) {
|
||||
|
Loading…
Reference in New Issue
Block a user