public function testMultipleReceivers() { $channel = new Wildfire_MessageTest__Wildfire_Channel_HttpHeader(); $dispatcher = new Wildfire_Dispatcher(); $dispatcher->setChannel($channel); $message = new Wildfire_Message(); $message->setData('Hello World'); $message->setMeta('{"line":10}'); $message->setProtocol('http://registry.pinf.org/cadorn.org/wildfire/@meta/protocol/component/0.1.0'); $message->setSender('http://pinf.org/cadorn.org/wildfire/packages/lib-php'); $message->setReceiver('http://pinf.org/cadorn.org/fireconsole'); $dispatcher->dispatch($message); $message->setReceiver('__TEST__'); $dispatcher->dispatch($message); $channel->flush(); $this->assertEquals(array('x-wf-protocol-1' => 'http://registry.pinf.org/cadorn.org/wildfire/@meta/protocol/component/0.1.0', 'x-wf-1-index' => '2', 'x-wf-1-1-receiver' => 'http://pinf.org/cadorn.org/fireconsole', 'x-wf-1-1-1-sender' => 'http://pinf.org/cadorn.org/wildfire/packages/lib-php', 'x-wf-1-1-1-1' => '23|{"line":10}|Hello World|', 'x-wf-1-2-receiver' => '__TEST__', 'x-wf-1-2-1-sender' => 'http://pinf.org/cadorn.org/wildfire/packages/lib-php', 'x-wf-1-2-1-2' => '23|{"line":10}|Hello World|'), $channel->getMessageParts()); }
public function parse__enqueueMessage(&$messages, $index, $receiver, $sender, $value) { if (!$messages[$receiver]) { $messages[$receiver] = array(); } preg_match_all('/^(.*?[^\\\\])?\\|(.*)$/', $value, $m); $message = new Wildfire_Message(); $message->setReceiver($receiver); $message->setSender($sender); $message->setMeta($m[1][0] ? str_replace('|', '|', $m[1][0]) : null); $message->setData(str_replace('|', '|', $m[2][0])); $message->setProtocol('http://registry.pinf.org/cadorn.org/wildfire/@meta/protocol/component/0.1.0'); $messages[$receiver][] = array($index, $message); }
private function _parse_enqueueMessage(&$messages, $index, $value) { $receiver = "*"; if (!isset($messages[$receiver])) { $messages[$receiver] = array(); } $message = new Wildfire_Message(); $message->setReceiver($receiver); preg_match_all('/^(.*?[^\\\\])?\\|(.*)$/si', $value, $m); $message->setMeta($m[1][0] || null); $message->setData($m[2][0]); $messages[$receiver][] = array($index, $message); }