Exemplo n.º 1
0
 public function getProtokollString()
 {
     $this->buffer->writeInt32BE($this->buffer->length() - 4, 0);
     $this->buffer->writeInt8(self::TYPE, 4);
     $this->buffer->writeInt32BE(strlen($this->channel->getName()), 5);
     $this->buffer->write($this->channel->getName(), 9);
     $this->buffer->write($this->message, 9 + strlen($this->channel->getName()));
     return (string) $this->buffer;
 }
Exemplo n.º 2
0
 public function testGetProtokollString()
 {
     $channel = new Channel('channel');
     $message = 'php';
     $buffer = new Buffer(4 + 1 + 4 + strlen($channel->getName()) + strlen($message));
     $buffer->writeInt32BE($buffer->length() - 4, 0);
     $buffer->writeInt8(0x1, 4);
     $buffer->writeInt32BE(strlen($channel->getName()), 5);
     $buffer->write($channel->getName(), 9);
     $buffer->write($message, 9 + strlen($channel->getName()));
     $msg = new PublishMessage($channel, $message);
     $this->assertEquals((string) $buffer, $msg->getProtokollString());
 }
 public function testGetProtokollString()
 {
     $objectStoreage = new \SplObjectStorage();
     $objectStoreage->attach($this->getChannelMock('channel_one'));
     $objectStoreage->attach($this->getChannelMock('channel_two'));
     $channels = $this->getMock('TrafficCophp\\Channel\\ChannelCollection');
     $channels->expects($this->any())->method('getChannels')->will($this->returnValue($objectStoreage));
     $msg = new SubscribeMessage($channels);
     $raw_channel_string = 'channel_one,channel_two';
     $buf = new Buffer(4 + 1 + 4 + strlen($raw_channel_string));
     $buf->writeInt32BE($buf->length() - 4, 0);
     $buf->writeInt8(0x2, 4);
     $buf->writeInt32BE(strlen($raw_channel_string), 5);
     $buf->write($raw_channel_string, 9);
     $this->assertSame((string) $buf, $msg->getProtokollString());
 }
Exemplo n.º 4
0
 protected function getRawData($channels, $message)
 {
     $buffer = new Buffer(4 + strlen($channels) + strlen($message));
     $buffer->writeInt32BE(strlen($channels), 0);
     $buffer->write($channels, 4);
     $buffer->write($message, 4 + strlen($channels));
     return (string) $buffer;
 }
Exemplo n.º 5
0
 public function testReceive()
 {
     $transportMock = $this->getTransportMock();
     $transportMock->expects($this->exactly(1))->method('send');
     $channel = 'channel_one';
     $message = 'message';
     $buffer = new Buffer(4 + 11 + 7);
     $buffer->writeInt32BE(strlen($channel), 0);
     $buffer->write($channel, 4);
     $buffer->write($message, 4 + strlen($channel));
     // Create a map of arguments to return values.
     $map = array(array(4, 26), array(22, (string) $buffer));
     $transportMock->expects($this->exactly(2))->method('receive')->will($this->returnValueMap($map));
     $subscriber = new Subscriber($transportMock);
     $messageMock = $this->getMockBuilder('TrafficCophp\\Message\\SubscribeMessage')->disableOriginalConstructor()->getMock();
     $subscriber->subscribe($messageMock);
     $srvMessageMock = $this->getMockBuilder('TrafficCophp\\Message\\ServerMessage')->disableOriginalConstructor()->getMock();
     $srvMessageMock->expects($this->exactly(1))->method('parse');
     $subscriber->receive($srvMessageMock);
 }
Exemplo n.º 6
0
 public function testWritingAndReadingOnTheSameBuffer()
 {
     $buffer = new Buffer(10);
     $int32be = 0.0;
     $string = 'hello!';
     $buffer->writeInt32BE($int32be, 0);
     $buffer->write($string, 4);
     $this->assertSame($string, $buffer->read(4, 6));
     $this->assertSame($int32be, $buffer->readInt32BE(0));
 }