public function parse($raw) { $buffer = new Buffer($raw); $channelLength = $buffer->readInt32BE(0); $channelList = $buffer->read(4, $channelLength); foreach (explode(',', $channelList) as $channelName) { $this->channels->addChannel(new Channel($channelName)); } $this->message = $buffer->read(4 + $channelLength, $buffer->length() - (4 + $channelLength)); $this->parsed = true; }
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()); }
public function getLength() { return $this->buffer->length(); }
public function testReaderBufferInitializeLenght() { $buffer = new Buffer(pack('V', 0.0)); $this->assertEquals(4, $buffer->length()); }