/** * @param AlertDetail $detail * @return \BitWasp\Buffertools\Buffer */ public function serialize(AlertDetail $detail) { $setCancels = []; foreach ($detail->getSetCancel() as $toCancel) { $t = new Parser(); $setCancels[] = $t->writeBytes(4, Buffer::int($toCancel), true)->getBuffer(); } $setSubVers = []; foreach ($detail->getSetSubVer() as $subVer) { $t = new Parser(); $setSubVers[] = $t->writeBytes(4, Buffer::int($subVer), true)->getBuffer(); } return $this->getTemplate()->write([$detail->getVersion(), $detail->getRelayUntil(), $detail->getExpiration(), $detail->getId(), $detail->getCancel(), $setCancels, $detail->getMinVer(), $detail->getMaxVer(), $setSubVers, $detail->getPriority(), $detail->getComment(), $detail->getStatusBar()]); }