From 62cc119003be95ce6448959e940290157ac0711e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Sat, 19 May 2012 14:07:11 +0000 Subject: [PATCH] Added experimental registration of sockets which have just appeared with a fake array --- .../hub/main/package/class_NetworkPackage.php | 1 + .../hub/main/pools/peer/class_DefaultPeerPool.php | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/application/hub/main/package/class_NetworkPackage.php b/application/hub/main/package/class_NetworkPackage.php index 3a5b5caeb..9fa8cdd67 100644 --- a/application/hub/main/package/class_NetworkPackage.php +++ b/application/hub/main/package/class_NetworkPackage.php @@ -108,6 +108,7 @@ class NetworkPackage extends BaseHubSystem implements Deliverable, Receivable, R const PACKAGE_STATUS_NEW = 'new'; const PACKAGE_STATUS_FAILED = 'failed'; const PACKAGE_STATUS_DECODED = 'decoded'; + const PACKAGE_STATUS_FAKED = 'faked'; /** * Constants for message data array diff --git a/application/hub/main/pools/peer/class_DefaultPeerPool.php b/application/hub/main/pools/peer/class_DefaultPeerPool.php index 67b02b89c..6968fc2a9 100644 --- a/application/hub/main/pools/peer/class_DefaultPeerPool.php +++ b/application/hub/main/pools/peer/class_DefaultPeerPool.php @@ -119,6 +119,20 @@ class DefaultPeerPool extends BasePool implements PoolablePeer { // Debug message $this->debugOutput('POOL: Adding peer ' . $peerName . ',socketResource=' . $socketResource); + // Create the fake array + $packageData = array( + NetworkPackage::PACKAGE_DATA_SENDER => $peerName . ':0', + NetworkPackage::PACKAGE_DATA_RECIPIENT => $this->getSessionId(), + NetworkPackage::PACKAGE_DATA_PROTOCOL => $this->getListenerInstance()->getProtocol(), + NetworkPackage::PACKAGE_DATA_STATUS => NetworkPackage::PACKAGE_STATUS_FAKED + ); + + // Get a socket registry + $registryInstance = SocketRegistryFactory::createSocketRegistryInstance(); + + // Register the socket with the registry and with a half-fake array + $registryInstance->registerSocket($this->getListenerInstane(), $socketResource, $packageData); + // Add it finally to the pool $this->addPoolEntry($socketResource); } -- 2.39.2