*/ 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:----Bdf47ufMdUcxLhnTG27UAhii8iia2sRI/Okq6UHpU0AqVaB1LapLxsTPbUuZlSIyCogaZIOkOqPuGGMdoD3WzPAXTgG86vt/4YGVULtx+NzkQ86cgZMYi/aO2rQWfatN0SsPMefAhJDCiA7yB11/HPBZwxGRwPJBTi5TWeMDmMfWCZRBDom62LggChv2BCDP2YnOfKKbO2wm8vB/2clNfuHiK7lbNDMTkyoFtr4O2STGShpXJqZggXFLcNtoJ5j17Docx1246AZscJa16MIn9kD/6G6VwBDZd0vUZiqziq/A6Z0GzpzLaoydqTSZdoHFuhP8apu6JMbyIg9RIX/etWqmHPsIDdRMqr1Gv5DrRIhOzGAGVapCc3EmqIRXvx7MN+0Refvq6BmVRQ+iUBckys/lFdtBRcPBrCmkeL2u+jCUi7+C8atXHJ5/UlPJgwLIQhyvxlq10zPCpttcZcBFym4WWI1ryNm5x8OvYRIwIr8+7sfd6wb0TYiYxv9M4FeIzlk9JO98usH3+T2c3Aa/raU32qRopX7tV2bE5BKyh4TgD3Y064XMh6zpu+KHKgAEdPw0kCXg698Z4uk2GXNtKnPM/qEgypVeLHdlh7lUCNCU0QEZbBQVBYABxRecmRaDhMi5Wfp9FfSu4INwGGPxXit7wmcneIE3gJxcUli/ZNs=----ATTACHMENT:----OTU5MzMxMTUxNDA4Nzk4IDM5NTYwMDg3MTY0OTk4MjMgNjE0MTA0NzU1Nzk5NjY1MA==