[TASK] Cleanup in the ClientManager and added an AbstractProtocolHandler.
This commit is contained in:
parent
952af43b97
commit
f3b1354aa2
|
@ -6,6 +6,7 @@
|
|||
* @author jpt
|
||||
* @package Client
|
||||
* @depends Connection
|
||||
* TODO: implement routing with some more detailed rules, remove hardcoded client-based routing.
|
||||
*/
|
||||
class Client_ClientManager {
|
||||
|
||||
|
@ -23,7 +24,7 @@ class Client_ClientManager {
|
|||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $rawRoutingRules;
|
||||
protected $routingRules;
|
||||
|
||||
/**
|
||||
* An array that contains all protocols we have clients for.
|
||||
|
@ -47,7 +48,7 @@ class Client_ClientManager {
|
|||
$this->connectionPool = new Connection_ConnectionPool($linebreak);
|
||||
$this->clientPool = array();
|
||||
$this->registeredProtocols = array();
|
||||
$this->rawRoutingRules = array();
|
||||
$this->routingRules = array();
|
||||
$this->configPool = array();
|
||||
}
|
||||
|
||||
|
@ -81,18 +82,15 @@ class Client_ClientManager {
|
|||
if($connectionHandler->isConnected() === FALSE && $connectionHandler->isListening() === FALSE) {
|
||||
$this->removeClientForConnectionHandler($connectionHandler);
|
||||
}
|
||||
|
||||
//ne warte mal, das geht nicht...oder so
|
||||
//handle accepted sockets, adopt them and treat them with care :-)
|
||||
if($connectionHandler->isListening() === TRUE) {
|
||||
$this->addClientForConnectionHandler($connectionHandler);
|
||||
}
|
||||
|
||||
//create a client for a connection without one.
|
||||
if(!isset($this->clientPool[$connectionHandler->getID()])) {
|
||||
$this->addClientForConnectionHandler($connectionHandler);
|
||||
}
|
||||
|
||||
|
||||
//call the registered client
|
||||
if(isset($this->clientPool[$connectionHandler->getID()])) {
|
||||
//let the client process the data, send the results back.
|
||||
while($data = $connectionHandler->read()) {
|
||||
|
@ -102,19 +100,9 @@ class Client_ClientManager {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO: implement this!
|
||||
* @param unknown_type $from
|
||||
* @param unknown_type $to
|
||||
*/
|
||||
public function addRawRouting($from, $to) {
|
||||
$this->rawRoutingRules[] = array("");
|
||||
}
|
||||
|
||||
/**
|
||||
* Calls ConnectionPool in order to create a simple connection.
|
||||
* @see Connection_ConnectionPool
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
/**
|
||||
* Abstract ProtocolHandler with the basic api.
|
||||
* @author jpt
|
||||
* @abstract
|
||||
* @package Protocol
|
||||
* TODO: finish this shit
|
||||
*/
|
||||
abstract class Protocol_AbstractProtocolHandler {
|
||||
|
||||
/**
|
||||
* Parses incoming data, returns a ProtocolObject
|
||||
* @param string $data
|
||||
* @return Protocol_ProtocolObejct
|
||||
*/
|
||||
abstract public function parse($data);
|
||||
|
||||
}
|
||||
?>
|
Loading…
Reference in New Issue