Move sender parameter to maintain BC with previous version
This commit is contained in:
parent
c943ee1771
commit
61ffa6aa2a
@ -63,10 +63,10 @@ class MessageBuffer {
|
|||||||
function __construct(
|
function __construct(
|
||||||
CloseFrameChecker $frameChecker,
|
CloseFrameChecker $frameChecker,
|
||||||
callable $onMessage,
|
callable $onMessage,
|
||||||
callable $sender,
|
|
||||||
callable $onControl = null,
|
callable $onControl = null,
|
||||||
$expectMask = true,
|
$expectMask = true,
|
||||||
$exceptionFactory = null,
|
$exceptionFactory = null,
|
||||||
|
callable $sender = null,
|
||||||
PermessageDeflateOptions $permessageDeflateOptions = null
|
PermessageDeflateOptions $permessageDeflateOptions = null
|
||||||
) {
|
) {
|
||||||
$this->closeFrameChecker = $frameChecker;
|
$this->closeFrameChecker = $frameChecker;
|
||||||
@ -85,6 +85,10 @@ class MessageBuffer {
|
|||||||
|
|
||||||
$this->deflate = $this->permessageDeflateOptions->getDeflate();
|
$this->deflate = $this->permessageDeflateOptions->getDeflate();
|
||||||
|
|
||||||
|
if ($this->deflate && !is_callable($this->sender)) {
|
||||||
|
throw new \InvalidArgumentException('sender must be set when deflate is enabled');
|
||||||
|
}
|
||||||
|
|
||||||
$this->compressedMessage = false;
|
$this->compressedMessage = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -276,6 +280,10 @@ class MessageBuffer {
|
|||||||
|
|
||||||
|
|
||||||
public function sendFrame(Frame $frame) {
|
public function sendFrame(Frame $frame) {
|
||||||
|
if ($this->sender === null) {
|
||||||
|
throw new \Exception('To send frames using the MessageBuffer, sender must be set.');
|
||||||
|
}
|
||||||
|
|
||||||
if ($this->deflate &&
|
if ($this->deflate &&
|
||||||
($frame->getOpcode() === Frame::OP_TEXT || $frame->getOpcode() === Frame::OP_BINARY)) {
|
($frame->getOpcode() === Frame::OP_TEXT || $frame->getOpcode() === Frame::OP_BINARY)) {
|
||||||
$frame = $this->deflateFrame($frame);
|
$frame = $this->deflateFrame($frame);
|
||||||
|
@ -30,7 +30,6 @@ function echoStreamerFactory($conn, $permessageDeflateOptions = null)
|
|||||||
function (\Ratchet\RFC6455\Messaging\MessageInterface $msg, MessageBuffer $messageBuffer) use ($conn) {
|
function (\Ratchet\RFC6455\Messaging\MessageInterface $msg, MessageBuffer $messageBuffer) use ($conn) {
|
||||||
$messageBuffer->sendMessage($msg->getPayload(), true, $msg->isBinary());
|
$messageBuffer->sendMessage($msg->getPayload(), true, $msg->isBinary());
|
||||||
},
|
},
|
||||||
[$conn, 'write'],
|
|
||||||
function (\Ratchet\RFC6455\Messaging\FrameInterface $frame, MessageBuffer $messageBuffer) use ($conn) {
|
function (\Ratchet\RFC6455\Messaging\FrameInterface $frame, MessageBuffer $messageBuffer) use ($conn) {
|
||||||
switch ($frame->getOpcode()) {
|
switch ($frame->getOpcode()) {
|
||||||
case Frame::OP_PING:
|
case Frame::OP_PING:
|
||||||
@ -43,6 +42,7 @@ function echoStreamerFactory($conn, $permessageDeflateOptions = null)
|
|||||||
},
|
},
|
||||||
false,
|
false,
|
||||||
null,
|
null,
|
||||||
|
[$conn, 'write'],
|
||||||
$permessageDeflateOptions
|
$permessageDeflateOptions
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -82,9 +82,10 @@ function getTestCases() {
|
|||||||
$deferred->resolve($msg->getPayload());
|
$deferred->resolve($msg->getPayload());
|
||||||
$stream->close();
|
$stream->close();
|
||||||
},
|
},
|
||||||
function () {},
|
|
||||||
null,
|
null,
|
||||||
false
|
false,
|
||||||
|
null,
|
||||||
|
function () {}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -203,9 +204,10 @@ function createReport() {
|
|||||||
$deferred->resolve($msg->getPayload());
|
$deferred->resolve($msg->getPayload());
|
||||||
$stream->close();
|
$stream->close();
|
||||||
},
|
},
|
||||||
function () {},
|
|
||||||
null,
|
null,
|
||||||
false
|
false,
|
||||||
|
null,
|
||||||
|
function () {}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -44,7 +44,6 @@ $server->on('request', function (\React\Http\Request $request, \React\Http\Respo
|
|||||||
function (MessageInterface $message, MessageBuffer $messageBuffer) use ($response) {
|
function (MessageInterface $message, MessageBuffer $messageBuffer) use ($response) {
|
||||||
$messageBuffer->sendMessage($message->getPayload(), true, $message->isBinary());
|
$messageBuffer->sendMessage($message->getPayload(), true, $message->isBinary());
|
||||||
},
|
},
|
||||||
[$response, 'write'],
|
|
||||||
function (FrameInterface $frame) use ($response, &$parser) {
|
function (FrameInterface $frame) use ($response, &$parser) {
|
||||||
switch ($frame->getOpCode()) {
|
switch ($frame->getOpCode()) {
|
||||||
case Frame::OP_CLOSE:
|
case Frame::OP_CLOSE:
|
||||||
@ -59,6 +58,7 @@ $server->on('request', function (\React\Http\Request $request, \React\Http\Respo
|
|||||||
function () use ($uException) {
|
function () use ($uException) {
|
||||||
return $uException;
|
return $uException;
|
||||||
},
|
},
|
||||||
|
[$response, 'write'],
|
||||||
$deflateOptions
|
$deflateOptions
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -28,7 +28,6 @@ class MessageBufferTest extends \PHPUnit_Framework_TestCase
|
|||||||
$messageCount++;
|
$messageCount++;
|
||||||
$this->assertEquals('a', $message->getPayload());
|
$this->assertEquals('a', $message->getPayload());
|
||||||
},
|
},
|
||||||
function () {},
|
|
||||||
null,
|
null,
|
||||||
false
|
false
|
||||||
);
|
);
|
||||||
|
Loading…
Reference in New Issue
Block a user