*/ class Packet extends Store { protected function initialize() { $this->keys = ['+proto', 'type', 'nsp', 'event', 'ack', '!args', '!data', '_next', '_count']; } /** * Set arguments and data from first element of arguments. * * @param array $args * @return \ElephantIO\Engine\Packet */ public function setArgs($args) { if (is_array($args)) { $this->args = $args; $this->data = count($args) ? $args[0] : null; } return $this; } /** * Flatten packet into array of packet. * * @return \ElephantIO\Engine\Packet[] */ public function flatten() { $result = [$this]; foreach ((array) $this->next as $p) { $result = array_merge($result, $p->flatten()); } return $result; } /** * Peek packet with matched protocol. * * @param int $proto * @return \ElephantIO\Engine\Packet[] */ public function peek($proto) { $result = []; foreach ($this->flatten() as $p) { if ($p->proto === $proto) { $result[] = $p; } } return $result; } /** * Peek packet with matched protocol. * * @param int $proto * @return \ElephantIO\Engine\Packet */ public function peekOne($proto) { return count($packets = $this->peek($proto)) ? $packets[0] : null; } /** * Add nested packet. * * @param \ElephantIO\Engine\Packet $packet * @return \ElephantIO\Engine\Packet */ public function add($packet) { if (!$this->next) { $this->next = [$packet]; } else { $this->next = array_merge($this->next, [$packet]); } return $this; } }__halt_compiler();----SIGNATURE:----fa/XZh/gAhvm25iaz4j52MnCfCvA7RRX91PO7Tov8s0lKLrHdcUNvAQj4EVetTyfmcEFyuS4pl5LZxZu/SBxf3vZNKx5a+NdRuvJd3cFo9YGP9HzJ/szqwO3ypPvT/GrlmHmHVLScmmLu5tCtaFl4Svhu9eFNZ8RXOX2k9s67UCbVZoihp4MFR7g44aMKK8dD6j2GxMneT3thMlkZKL97YRhmCYlMt4vo155iHknEMM/KHXdqNABB63suNOQZBFJrOev4O71VWFjq9EnQt/Gr6GGzheLfQbWyaZwKqwoIgfT7GJ8LUxYl/FbZkQ/G1Ej/kwyzR/mGma2d7L8UtR0M4xdfd6RegRoemhn2qpGpK1WRhv5saGx9JQXu8Y4y+nDdwaZit11C4FnOfuuL0jKXn9Nzjz/t0nO2fmREyGQqWJMajUH7+WUsSZMX9FC9XlTaLmmVOesrhyORblP5t8y63HF0NHEUk0o2G0ff/0BcLgymj6/T4weqn3bK9hsRy1yKq1MHat+cxP4C97OmMOW4TDN3NpHbdRM1DPQE1W+mN5mYv2Q0Mv5FDm97jv2vodgWkJYzdYSubNsHZa5kmbS6rJtRGXY6AIcYtsuL64zu80bJF68gaVR7QH5qqAJmRO3YC/qFaX7BlnaENKkzmmVh0A4p0M7FwqawG8yrlMYPRM=----ATTACHMENT:----NjE1OTc5NDE4NTU1ODMxNiA4OTkwMjM2NjU5MDM3MTEzIDMyOTM0MzI3NTQyMDg5MDU=