Skip to content

Commit 744eb16

Browse files
committed
Pass Socket instance to Socks/Server instead of inheriting
1 parent b093c2c commit 744eb16

2 files changed

Lines changed: 11 additions & 11 deletions

File tree

Socks/Factory.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ public function createClient($socksHost, $socksPort)
2020
return new Client($this->loop, $connector, $this->resolver, $socksHost, $socksPort);
2121
}
2222

23-
public function createServer()
23+
public function createServer($socket)
2424
{
2525
$connector = $this->createConnectionManager();
26-
return new Server($this->loop, $connector);
26+
return new Server($socket, $this->loop, $connector);
2727
}
2828

2929
protected function createConnectionManager()

Socks/Server.php

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,19 @@
22

33
namespace Socks;
44

5+
use Evenement\EventEmitter;
6+
use React\Socket\ServerInterface;
57
use React\Promise\When;
68
use React\Promise\PromiseInterface;
79
use React\Stream\Stream;
810
use ConnectionManager\ConnectionManagerInterface;
911
use React\Socket\Connection;
1012
use React\EventLoop\LoopInterface;
11-
use React\Socket\Server as SocketServer;
1213
use \UnexpectedValueException;
1314
use \InvalidArgumentException;
1415
use \Exception;
1516

16-
class Server extends SocketServer
17+
class Server extends EventEmitter
1718
{
1819
protected $loop;
1920

@@ -23,14 +24,16 @@ class Server extends SocketServer
2324

2425
private $protocolVersion = null;
2526

26-
public function __construct(LoopInterface $loop, ConnectionManagerInterface $connectionManager)
27+
public function __construct(ServerInterface $serverInterface, LoopInterface $loop, ConnectionManagerInterface $connectionManager)
2728
{
28-
parent::__construct($loop);
29-
3029
$this->loop = $loop;
3130
$this->connectionManager = $connectionManager;
3231

33-
$this->on('connection', array($this, 'onConnection'));
32+
$that = $this;
33+
$serverInterface->on('connection', function ($connection) use ($that) {
34+
$that->emit('connection', array($connection));
35+
$that->onConnection($connection);
36+
});
3437
}
3538

3639
public function setProtocolVersion($version)
@@ -79,10 +82,7 @@ public function unsetAuth()
7982

8083
public function onConnection(Connection $connection)
8184
{
82-
// $this->emit('connection', array($connection));
83-
8485
$that = $this;
85-
$loop = $this->loop;
8686
$this->handleSocks($connection)->then(function($remote) use ($connection){
8787
$connection->emit('ready',array($remote));
8888
}, function ($error) use ($connection, $that) {

0 commit comments

Comments
 (0)