* 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.");
}
}
* @param $remoteAddr IP address to checkout against our bootstrapping list
* @return $isFound Wether the IP is found
*/
- private function ifAddressMatchesBootstrappingNodes ($remoteAddr) {
+ protected function ifAddressMatchesBootstrappingNodes ($remoteAddr) {
// By default nothing is found
$isFound = false;
$this->bootIpPort = $ipPort;
// Output message
- $this->getDebugInstance()->output(__FUNCTION__.': IP matches remote address ' . $ipPort . '.');
+ $this->getDebugInstance()->output(__FUNCTION__.'['.__LINE__.']: IP matches remote address ' . $ipPort . '.');
// Stop further searching
break;
$this->bootIpPort = $ipPort;
// Output message
- $this->getDebugInstance()->output(__FUNCTION__.': IP matches listen address ' . $ipPort . '.');
+ $this->getDebugInstance()->output(__FUNCTION__.'['.__LINE__.']: IP matches listen address ' . $ipPort . '.');
// Stop further searching
break;
* @return void
*/
protected function doGenericBootstrapping () {
- // 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__.': 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__.': Our node is a valid bootstrapping node.');
- } else {
- // Output warning
- $this->getDebugInstance()->output(__FUNCTION__.': WARNING! Mismatching mode ' . $this->getRequestInstance()->getRequestElement('mode') . '!=boot detected.');
- }
- } // END - if
- } // END - if
-
// Finally output our teaser. This should be the last line!
$this->outputConsoleTeaser();
}