Fix casting on compressed attributes when value is NULL, reduce some BINKP debugging messages

This commit is contained in:
Deon George 2022-11-05 00:06:47 +11:00
parent 9721db185b
commit c7187dbb0e
2 changed files with 22 additions and 15 deletions

View File

@ -10,15 +10,15 @@ class CompressedString implements CastsAttributes
/** /**
* Cast the given value. * Cast the given value.
* *
* @param \Illuminate\Database\Eloquent\Model $model * @param Model $model
* @param string $key * @param string $key
* @param mixed $value * @param mixed $value
* @param array $attributes * @param array $attributes
* @return string * @return string|null
*/ */
public function get($model, string $key, $value, array $attributes): string public function get($model,string $key,$value,array $attributes): ?string
{ {
return zstd_uncompress(base64_decode($value)); return $value ? zstd_uncompress(base64_decode($value)) : NULL;
} }
/** /**
@ -30,7 +30,7 @@ class CompressedString implements CastsAttributes
* @param array $attributes * @param array $attributes
* @return string|null * @return string|null
*/ */
public function set($model, string $key, $value, array $attributes): ?string public function set($model,string $key,$value,array $attributes): ?string
{ {
return $value ? base64_encode(zstd_compress($value)) : NULL; return $value ? base64_encode(zstd_compress($value)) : NULL;
} }

View File

@ -306,7 +306,8 @@ final class Binkp extends BaseProtocol
Log::debug(sprintf('%s:+ binkp_recv',self::LOGKEY)); Log::debug(sprintf('%s:+ binkp_recv',self::LOGKEY));
$blksz = $this->rx_size == -1 ? BinkpMessage::BLK_HDR_SIZE : $this->rx_size; $blksz = $this->rx_size == -1 ? BinkpMessage::BLK_HDR_SIZE : $this->rx_size;
Log::debug(sprintf('%s: - binkp_recv blksize [%d] rx_size [%d].',self::LOGKEY,$blksz,$this->rx_size)); if ($this->DEBUG)
Log::debug(sprintf('%s: - binkp_recv blksize [%d] rx_size [%d].',self::LOGKEY,$blksz,$this->rx_size));
if ($blksz !== 0) { if ($blksz !== 0) {
try { try {
@ -367,7 +368,8 @@ final class Binkp extends BaseProtocol
/* Next block */ /* Next block */
} else { } else {
ZeroLen: ZeroLen:
Log::debug(sprintf('%s: - binkp_recv NEXT BLOCK, is_msg [%d]',self::LOGKEY,$this->is_msg)); if ($this->DEBUG)
Log::debug(sprintf('%s: - binkp_recv NEXT BLOCK, is_msg [%d]',self::LOGKEY,$this->is_msg));
if ($this->is_msg) { if ($this->is_msg) {
$this->mib++; $this->mib++;
@ -382,7 +384,8 @@ final class Binkp extends BaseProtocol
return 1; return 1;
} }
Log::debug(sprintf('%s: - binkp_recv BUFFER [%d]',self::LOGKEY,strlen($this->rx_buf))); if ($this->DEBUG)
Log::debug(sprintf('%s: - binkp_recv BUFFER [%d]',self::LOGKEY,strlen($this->rx_buf)));
$rc = ord(substr($this->rx_buf,0,1)); $rc = ord(substr($this->rx_buf,0,1));
@ -477,7 +480,8 @@ final class Binkp extends BaseProtocol
$rc = 1; $rc = 1;
} }
Log::debug(sprintf('%s:= binkp_recv [%d]',self::LOGKEY,$rc)); if ($this->DEBUG)
Log::debug(sprintf('%s:= binkp_recv [%d]',self::LOGKEY,$rc));
return $rc; return $rc;
} }
@ -487,7 +491,8 @@ final class Binkp extends BaseProtocol
*/ */
private function binkp_send(): int private function binkp_send(): int
{ {
Log::debug(sprintf('%s:+ binkp_send - tx_left [%d]',self::LOGKEY,$this->tx_left)); if ($this->DEBUG)
Log::debug(sprintf('%s:+ binkp_send - tx_left [%d]',self::LOGKEY,$this->tx_left));
if ($this->tx_left == 0 ) { /* tx buffer is empty */ if ($this->tx_left == 0 ) { /* tx buffer is empty */
$this->tx_ptr = $this->tx_left = 0; $this->tx_ptr = $this->tx_left = 0;
@ -561,7 +566,8 @@ final class Binkp extends BaseProtocol
} }
} }
Log::debug(sprintf('%s:= binkp_send [1]',self::LOGKEY)); if ($this->DEBUG)
Log::debug(sprintf('%s:= binkp_send [1]',self::LOGKEY));
return 1; return 1;
} }
@ -595,7 +601,8 @@ final class Binkp extends BaseProtocol
*/ */
private function msgs(string $id,string $msg_body): void private function msgs(string $id,string $msg_body): void
{ {
Log::debug(sprintf('%s:+ msgs [%d:%s]',self::LOGKEY,$id,$msg_body)); if ($this->DEBUG)
Log::debug(sprintf('%s:+ msgs [%d:%s]',self::LOGKEY,$id,$msg_body));
$this->mqueue->push(new BinkpMessage($id,$msg_body)); $this->mqueue->push(new BinkpMessage($id,$msg_body));