* should communicate with the bootstrap-nodes at this point.
*
* @return void
- * @todo Implement this method
+ * @todo add some more special bootstrap things for this boot node
*/
public function doBootstrapping () {
// Call generic (parent) bootstrapping method
parent::doGenericBootstrapping();
- $this->partialStub("Please implement this method.");
+
+ // Now check if the IP address matches one of the bootstrap nodes
+ if ($this->ifAddressMatchesBootstrappingNodes($_SERVER['REMOTE_ADDR'])) {
+ // Get our port
+ $ourPort = $this->getConfigInstance()->readConfig('node_listen_port');
+
+ // Is the port the same?
+ if (substr($this->bootIpPort, -strlen($ourPort), strlen($ourPort)) == $ourPort) {
+ // It is the same!
+ $this->getDebugInstance()->output(__FUNCTION__.'['.__LINE__.']: IP/port matches bootstrapping node ' . $this->bootIpPort . '.');
+
+ // Now, does the mode match (should be 'boot'!)
+ if ($this->getRequestInstance()->getRequestElement('mode') == 'boot') {
+ // Output debug message
+ $this->getDebugInstance()->output(__FUNCTION__.'['.__LINE__.']: Our node is a valid bootstrapping node.');
+ } else {
+ // Output warning
+ $this->getDebugInstance()->output(__FUNCTION__.'['.__LINE__.']: WARNING! Mismatching mode ' . $this->getRequestInstance()->getRequestElement('mode') . '!=boot detected.');
+ }
+ } // END - if
+ } // END - if
+
+ // This might not be all...
+ $this->partialStub("Please implement more bootsrapping steps.");
}
}