private function remove(): string
    {
        if (null !== $this->byte && false !== ($position = $this->buffer->search($this->byte))) {
            if (0 === $this->length || $position < $this->length) {
                return $this->buffer->shift($position + 1);
            }

            return $this->buffer->shift($this->length);
        }

        if (0 === $this->length) {
            return $this->buffer->drain();
        }

        return $this->buffer->shift($this->length);
    }
private function remove(): string
    {
        if (null !== $this->byte && false !== ($position = $this->buffer->search($this->byte))) {
            if (0 === $this->length || $position < $this->length) {
                return $this->buffer->shift($position + 1);
            }

            return $this->buffer->shift($this->length);
        }

        if (0 === $this->length) {
            return $this->buffer->drain();
        }

        return $this->buffer->shift($this->length);
    }
private function remove ( ) : string { if ( null !== $ this -> byte && false !== ( $ position = $ this -> buffer -> search ( $ this -> byte ) ) ) { if ( 0 === $ this -> length || $ position < $ this -> length ) { return $ this -> buffer -> shift ( $ position + 1 ) ; } return $ this -> buffer -> shift ( $ this -> length ) ; } if ( 0 === $ this -> length ) { return $ this -> buffer -> drain ( ) ; } return $ this -> buffer -> shift ( $ this -> length ) ; }
Returns bytes from the buffer based on the current length or current search byte.

@return string
Returns bytes from the buffer based on the current length or current search byte .