code style

This commit is contained in:
Evgeny Zinoviev 2021-03-03 01:41:53 +03:00
parent 9f4adb06e6
commit 0e564d2812
8 changed files with 59 additions and 32 deletions

View File

@ -25,7 +25,8 @@ class Client {
* @param string $password
* @throws \Exception
*/
public function __construct(int $port, string $host = '127.0.0.1', string $password = '') {
public function __construct(int $port, string $host = '127.0.0.1', string $password = '')
{
$this->port = $port;
$this->host = $host;
$this->password = $password;
@ -41,15 +42,17 @@ class Client {
/**
* JobdClient destructor.
*/
public function __destruct() {
public function __destruct()
{
$this->close();
}
/**
* @return ResponseMessage
* @return PongMessage
* @throws \Exception
*/
public function ping() {
public function ping(): PongMessage
{
$this->send(new PingMessage());
return $this->recv();
}
@ -58,7 +61,8 @@ class Client {
* @param RequestMessage $request
* @return int
*/
public function sendRequest(RequestMessage $request) {
public function sendRequest(RequestMessage $request): int
{
if ($this->password && !$this->passwordSent) {
$request->setPassword($this->password);
$this->passwordSent = true;
@ -75,17 +79,19 @@ class Client {
/**
* @param Message $message
*/
public function send(Message $message) {
public function send(Message $message)
{
$serialized = $message->serialize();
fwrite($this->sock, $serialized . self::EOT);
}
/**
* @param int $request_no
* @return ResponseMessage
* @return RequestMessage|ResponseMessage|PingMessage|PongMessage
* @throws \Exception
*/
public function recv(int $request_no = -1) {
public function recv(int $request_no = -1)
{
$messages = [];
$buf = '';
while (!feof($this->sock)) {
@ -165,7 +171,8 @@ class Client {
/**
* @return int
*/
protected function getNextOutgoingRequestNo() {
protected function getNextOutgoingRequestNo()
{
$this->lastOutgoingRequestNo++;
if ($this->lastOutgoingRequestNo >= self::REQUEST_NO_LIMIT)
@ -179,7 +186,8 @@ class Client {
* @return RequestMessage|ResponseMessage|PingMessage|PongMessage
* @throws \Exception
*/
protected static function parseMessage(string $raw_string) {
protected static function parseMessage(string $raw_string)
{
$raw = json_decode($raw_string, true);
if (!is_array($raw) || count($raw) < 1)
throw new \Exception("Malformed message: {$raw_string}");
@ -195,7 +203,7 @@ class Client {
['type', 's', true],
['no', 'i', true],
['password', 's', false],
['data', 'aifs', false]
['data', 'a', false]
]);
} catch (\Exception $e) {
throw new \Exception("Malformed REQUEST message: {$e->getMessage()}");
@ -239,7 +247,8 @@ class Client {
* @param array $schema
* @throws \Exception
*/
protected static function validateData($data, array $schema) {
protected static function validateData($data, array $schema)
{
if (!$data || !is_array($data))
throw new \Exception('data must be array');
@ -294,7 +303,8 @@ class Client {
/**
* Close connection.
*/
public function close() {
public function close()
{
if (!$this->sock)
return;

View File

@ -4,7 +4,8 @@ namespace jobd;
class MasterClient extends Client {
public function __construct(int $port = Client::MASTER_PORT, ...$args) {
public function __construct(int $port = Client::MASTER_PORT, ...$args)
{
parent::__construct($port, ...$args);
}

View File

@ -16,7 +16,8 @@ abstract class Message {
* Message constructor.
* @param int $type
*/
public function __construct(int $type) {
public function __construct(int $type)
{
$this->type = $type;
}
@ -28,7 +29,8 @@ abstract class Message {
/**
* @return string
*/
public function serialize(): string {
public function serialize(): string
{
$data = [$this->type];
$content = $this->getContent();

View File

@ -4,11 +4,13 @@ namespace jobd;
class PingMessage extends Message {
public function __construct() {
public function __construct()
{
parent::__construct(Message::PING);
}
protected function getContent(): array {
protected function getContent(): array
{
return [];
}

View File

@ -4,11 +4,13 @@ namespace jobd;
class PongMessage extends Message {
public function __construct() {
public function __construct()
{
parent::__construct(Message::PING);
}
protected function getContent(): array {
protected function getContent(): array
{
return [];
}

View File

@ -12,9 +12,10 @@ class RequestMessage extends Message {
/**
* Request constructor.
* @param string $request_type
* @param null $request_data
* @param null|array $request_data
*/
public function __construct(string $request_type, $request_data = null) {
public function __construct(string $request_type, $request_data = null)
{
parent::__construct(Message::REQUEST);
$this->requestData = $request_data;
@ -24,21 +25,24 @@ class RequestMessage extends Message {
/**
* @param string $password
*/
public function setPassword(string $password) {
public function setPassword(string $password)
{
$this->password = $password;
}
/**
* @param int $no
*/
public function setRequestNo(int $no) {
public function setRequestNo(int $no)
{
$this->requestNo = $no;
}
/**
* @return string[]
*/
protected function getContent(): array {
protected function getContent(): array
{
$request = [
'type' => $this->requestType,
'no' => $this->requestNo,

View File

@ -11,11 +11,12 @@ class ResponseMessage extends Message {
/**
* Response constructor.
*
* @param int $requestNo
* @param int $request_no
* @param null $error
* @param null $data
*/
public function __construct($request_no, $error = null, $data = null) {
public function __construct(int $request_no, $error = null, $data = null)
{
parent::__construct(Message::RESPONSE);
$this->requestNo = $request_no;
@ -26,7 +27,8 @@ class ResponseMessage extends Message {
/**
* @return array
*/
protected function getContent(): array {
protected function getContent(): array
{
$response = [
'no' => $this->requestNo
];
@ -43,21 +45,24 @@ class ResponseMessage extends Message {
/**
* @return mixed
*/
public function getError() {
public function getError()
{
return $this->error;
}
/**
* @return mixed
*/
public function getData() {
public function getData()
{
return $this->data;
}
/**
* @return int
*/
public function getRequestNo() {
public function getRequestNo(): int
{
return $this->requestNo;
}

View File

@ -4,7 +4,8 @@ namespace jobd;
class WorkerClient extends Client {
public function __construct(int $port = Client::WORKER_PORT, ...$args) {
public function __construct(int $port = Client::WORKER_PORT, ...$args)
{
parent::__construct($port, ...$args);
}