Rename SocketType -> EngineType.

pull/150/head
Anthony Birkett 4 years ago
parent 71bdac6f9d
commit da68be0fb1

@ -13,10 +13,15 @@ declare(strict_types=1);
* @internal * @internal
*/ */
namespace xPaw\SourceQuery\Socket; namespace xPaw\SourceQuery;
abstract class SocketType abstract class EngineType
{ {
public const GOLDSOURCE = 0; public const GOLDSOURCE = 'GoldSource';
public const SOURCE = 1; public const SOURCE = 'Source';
public const ALL_ENGINES = [
self::GOLDSOURCE,
self::SOURCE,
];
} }

@ -15,14 +15,15 @@ declare(strict_types=1);
namespace xPaw\SourceQuery\Socket; namespace xPaw\SourceQuery\Socket;
use xPaw\SourceQuery\EngineType;
use xPaw\SourceQuery\Socket\Traits\GoldSourcePacketDataTrait; use xPaw\SourceQuery\Socket\Traits\GoldSourcePacketDataTrait;
final class GoldSourceSocket extends AbstractSocket final class GoldSourceSocket extends AbstractSocket
{ {
use GoldSourcePacketDataTrait; use GoldSourcePacketDataTrait;
public function getType(): int public function getType(): string
{ {
return SocketType::GOLDSOURCE; return EngineType::GOLDSOURCE;
} }
} }

@ -36,7 +36,7 @@ interface SocketInterface
/** /**
* Get the socket type (goldsrc/src). * Get the socket type (goldsrc/src).
*/ */
public function getType(): int; public function getType(): string;
public function open(string $address, int $port, int $timeout): void; public function open(string $address, int $port, int $timeout): void;

@ -15,14 +15,15 @@ declare(strict_types=1);
namespace xPaw\SourceQuery\Socket; namespace xPaw\SourceQuery\Socket;
use xPaw\SourceQuery\EngineType;
use xPaw\SourceQuery\Socket\Traits\SourcePacketDataTrait; use xPaw\SourceQuery\Socket\Traits\SourcePacketDataTrait;
final class SourceSocket extends AbstractSocket final class SourceSocket extends AbstractSocket
{ {
use SourcePacketDataTrait; use SourcePacketDataTrait;
public function getType(): int public function getType(): string
{ {
return SocketType::SOURCE; return EngineType::SOURCE;
} }
} }

@ -16,6 +16,7 @@ declare(strict_types=1);
namespace xPaw\SourceQuery\Socket; namespace xPaw\SourceQuery\Socket;
use xPaw\SourceQuery\Buffer; use xPaw\SourceQuery\Buffer;
use xPaw\SourceQuery\EngineType;
use xPaw\SourceQuery\Exception\InvalidPacketException; use xPaw\SourceQuery\Exception\InvalidPacketException;
use xPaw\SourceQuery\Socket\Traits\GoldSourcePacketDataTrait; use xPaw\SourceQuery\Socket\Traits\GoldSourcePacketDataTrait;
use xPaw\SourceQuery\Socket\Traits\SourcePacketDataTrait; use xPaw\SourceQuery\Socket\Traits\SourcePacketDataTrait;
@ -35,18 +36,18 @@ final class TestableSocket extends AbstractSocket
*/ */
private array $packetQueue; private array $packetQueue;
private int $type; private string $type;
/** /**
* TestableSocket constructor. * TestableSocket constructor.
*/ */
public function __construct(int $type = SocketType::SOURCE) public function __construct(string $type = EngineType::SOURCE)
{ {
$this->packetQueue = []; $this->packetQueue = [];
$this->type = $type; $this->type = $type;
} }
public function getType(): int public function getType(): string
{ {
return $this->type; return $this->type;
} }
@ -117,7 +118,7 @@ final class TestableSocket extends AbstractSocket
?int &$checksum ?int &$checksum
): void { ): void {
switch ($this->type) { switch ($this->type) {
case SocketType::GOLDSOURCE: case EngineType::GOLDSOURCE:
$this->readInternalPacketDataGoldSource( $this->readInternalPacketDataGoldSource(
$buffer, $buffer,
$count, $count,
@ -128,7 +129,7 @@ final class TestableSocket extends AbstractSocket
break; break;
case SocketType::SOURCE: case EngineType::SOURCE:
default: default:
$this->readInternalPacketDataSource( $this->readInternalPacketDataSource(
$buffer, $buffer,

@ -25,7 +25,6 @@ use xPaw\SourceQuery\QueryResponse\RulesQueryResponse;
use xPaw\SourceQuery\QueryResponse\SourceInfoQueryResponse; use xPaw\SourceQuery\QueryResponse\SourceInfoQueryResponse;
use xPaw\SourceQuery\Rcon\RconInterface; use xPaw\SourceQuery\Rcon\RconInterface;
use xPaw\SourceQuery\Socket\SocketInterface; use xPaw\SourceQuery\Socket\SocketInterface;
use xPaw\SourceQuery\Socket\SocketType;
final class SourceQuery final class SourceQuery
{ {
@ -201,7 +200,7 @@ final class SourceQuery
} }
// Old GoldSource protocol, HLTV still uses it. // Old GoldSource protocol, HLTV still uses it.
if (self::S2A_INFO_OLD === $type && SocketType::GOLDSOURCE === $this->socket->getType()) { if (self::S2A_INFO_OLD === $type && EngineType::GOLDSOURCE === $this->socket->getType()) {
return GoldSourceInfoQueryResponse::fromBuffer($buffer); return GoldSourceInfoQueryResponse::fromBuffer($buffer);
} }

@ -3,12 +3,12 @@
declare(strict_types=1); declare(strict_types=1);
use PHPUnit\Framework\TestCase; use PHPUnit\Framework\TestCase;
use xPaw\SourceQuery\EngineType;
use xPaw\SourceQuery\Exception\AuthenticationException; use xPaw\SourceQuery\Exception\AuthenticationException;
use xPaw\SourceQuery\Exception\InvalidArgumentException; use xPaw\SourceQuery\Exception\InvalidArgumentException;
use xPaw\SourceQuery\Exception\InvalidPacketException; use xPaw\SourceQuery\Exception\InvalidPacketException;
use xPaw\SourceQuery\Exception\SocketException; use xPaw\SourceQuery\Exception\SocketException;
use xPaw\SourceQuery\Rcon\TestableRcon; use xPaw\SourceQuery\Rcon\TestableRcon;
use xPaw\SourceQuery\Socket\SocketType;
use xPaw\SourceQuery\Socket\TestableSocket; use xPaw\SourceQuery\Socket\TestableSocket;
use xPaw\SourceQuery\SourceQuery; use xPaw\SourceQuery\SourceQuery;
@ -140,8 +140,8 @@ final class Tests extends TestCase
public function testGetInfo(string $rawInput, array $expectedOutput): void public function testGetInfo(string $rawInput, array $expectedOutput): void
{ {
$socketType = isset($expectedOutput['IsMod']) $socketType = isset($expectedOutput['IsMod'])
? SocketType::GOLDSOURCE ? EngineType::GOLDSOURCE
: SocketType::SOURCE; : EngineType::SOURCE;
$socket = new TestableSocket($socketType); $socket = new TestableSocket($socketType);
$sourceQuery = $this->create($socket); $sourceQuery = $this->create($socket);

Loading…
Cancel
Save