Make an abstract class for sockets and allow specifying different socket in SourceQuery

This is a preparation for tests
pull/94/head
Pavel Djundik 9 years ago
parent 412bad768c
commit 9c944e23d0

@ -0,0 +1,38 @@
<?php
/**
* @author Pavel Djundik <sourcequery@xpaw.me>
*
* @link https://xpaw.me
* @link https://github.com/xPaw/PHP-Source-Query
*
* @license GNU Lesser General Public License, version 2.1
*
* @internal
*/
namespace xPaw\SourceQuery;
/**
* Base socket interface
*
* @package xPaw\SourceQuery
*/
abstract class BaseSocket
{
public $Socket;
public $Engine;
public $Ip;
public $Port;
public $Timeout;
public function __destruct( )
{
$this->Close( );
}
abstract public function Close( );
abstract public function Open( $Ip, $Port, $Timeout, $Engine );
abstract public function Write( $Header, $String = '' );
abstract public function Read( $Length = 1400 );
}

@ -23,15 +23,8 @@
* @uses xPaw\SourceQuery\Exception\InvalidPacketException
* @uses xPaw\SourceQuery\Exception\SocketException
*/
class Socket
class Socket extends BaseSocket
{
public $Socket;
public $Engine;
public $Ip;
public $Port;
public $Timeout;
public function Close( )
{
if( $this->Socket )

@ -109,9 +109,9 @@
*/
private $UseOldGetChallengeMethod;
public function __construct( )
public function __construct( BaseSocket $Socket = null )
{
$this->Socket = new Socket( );
$this->Socket = $Socket ?: new Socket( );
}
public function __destruct( )

@ -20,6 +20,7 @@
require_once __DIR__ . '/Exception/InvalidPacketException.php';
require_once __DIR__ . '/Buffer.php';
require_once __DIR__ . '/BaseSocket.php';
require_once __DIR__ . '/Socket.php';
require_once __DIR__ . '/SourceRcon.php';
require_once __DIR__ . '/GoldSourceRcon.php';

Loading…
Cancel
Save