]> git.mxchange.org Git - hub.git/blobdiff - application/hub/main/pools/peer/class_DefaultPeerPool.php
Added experimental registration of sockets which have just appeared with a fake array
[hub.git] / application / hub / main / pools / peer / class_DefaultPeerPool.php
index 67b02b89c5ae1a518a656e1b8aa5a9edfbe1ee1e..6968fc2a902fd1a65861e63487c9a7d6aeecf9c8 100644 (file)
@@ -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);
        }