_data[0] == chr(0) && substr($this->_data, -1) == chr(255)); } /** * {@inheritdoc} */ public function addBuffer($buf) { $this->_data .= (string)$buf; } /** * {@inheritdoc} */ public function isFinal() { return true; } /** * {@inheritdoc} */ public function isMasked() { return false; } /** * {@inheritdoc} */ public function getOpcode() { return 1; } /** * {@inheritdoc} */ public function getPayloadLength() { if (!$this->isCoalesced()) { throw new \UnderflowException('Not enough of the message has been buffered to determine the length of the payload'); } return strlen($this->_data) - 2; } /** * {@inheritdoc} */ public function getMaskingKey() { return ''; } /** * {@inheritdoc} */ public function getPayload() { if (!$this->isCoalesced()) { return new \UnderflowException('Not enough data buffered to read payload'); } return substr($this->_data, 1, strlen($this->_data) - 2); } public function getContents() { return $this->_data; } public function extractOverflow() { return ''; } }