]> git.mxchange.org Git - hub.git/blobdiff - application/hub/main/handler/network/class_BaseRawDataHandler.php
Rewrites, some more methods:
[hub.git] / application / hub / main / handler / network / class_BaseRawDataHandler.php
index 16c7c15e335393b91c2228b2cf0f65c0533279f6..57857bfcdacb6815fbfe7203b213f2df1fc9f7e2 100644 (file)
@@ -26,7 +26,6 @@ class BaseRawDataHandler extends BaseHandler {
        // - Socket raw data stream errors
        const SOCKET_ERROR_UNKNOWN                    = 'unknown_error';              // Unknown error (should not happen)
        const SOCKET_ERROR_TRANSPORT_ENDPOINT         = 'transport_endpoint';         // Transport endpoint has closed
-       const SOCKET_ERROR_EMPTY_DATA                 = 'empty_data';                 // Other peer has sent nothing
        const SOCKET_ERROR_INVALID_BASE64_MODULO      = 'base64_modulo';              // Length is not modulo 4
        const SOCKET_ERROR_INVALID_BASE64_MESSAGE     = 'base64_message';             // Raw data is not Base64-encoded
        const SOCKET_ERROR_UNHANDLED                  = 'unhandled_package';          // Unhandled raw data (not bad)
@@ -46,13 +45,17 @@ class BaseRawDataHandler extends BaseHandler {
        const PACKAGE_LEVEL_CHECK_OKAY         = 'checked_package'; // Package is fine
 
        // Package data
-       const PACKAGE_DECODED_DATA = 'decoded_data';
-       const PACKAGE_ERROR_CODE   = 'error_code';
+       const PACKAGE_RAW_DATA   = 'raw_data';
+       const PACKAGE_ERROR_CODE = 'error_code';
+
+       // Start/end marker
+       const STREAM_START_MARKER = '[[S]]';
+       const STREAM_END_MARKER   = '[[E]]';
 
        /**
-        * Stacker for decoded data
+        * Stacker for raw data
         */
-       const STACKER_NAME_DECODED_DATA = 'decoded_data';
+       const STACKER_NAME_RAW_DATA = 'raw_data';
 
        /**
         * Error code from socket
@@ -72,12 +75,6 @@ class BaseRawDataHandler extends BaseHandler {
                // Set error code to 'unknown'
                $this->setErrorCode(self::SOCKET_ERROR_UNKNOWN);
 
-               // Get an input stream instance
-               $streamInstance = ObjectFactory::createObjectByConfiguredName('node_raw_data_input_stream_class', array($this));
-
-               // Set it in this network-package handler
-               $this->setInputStreamInstance($streamInstance);
-
                // Init stacker instance for processed raw data
                $stackerInstance = ObjectFactory::createObjectByConfiguredName('node_raw_data_stacker_class');
 
@@ -94,50 +91,50 @@ class BaseRawDataHandler extends BaseHandler {
         * @return      void
         */
        protected function initStacker () {
-               $this->getStackerInstance()->initStacker(self::STACKER_NAME_DECODED_DATA);
+               $this->getStackerInstance()->initStacker(self::STACKER_NAME_RAW_DATA);
        }
 
        /**
-        * Adds given decoded data to the raw data stacker
+        * Adds given raw data to the raw data stacker
         *
-        * @param       $decodedData    Decoded data from the socket resource
+        * @param       $rawData        raw data from the socket resource
         * @return      void
         */
-       protected function addDecodedDataToStacker ($decodedData) {
+       protected function addRawDataToStacker ($rawData) {
                /*
                 * Add the deocoded data and error code to the stacker so other classes
                 * (e.g. NetworkPackage) can "pop" it from the stacker.
                 */
-               $this->getStackerInstance()->pushNamed(self::STACKER_NAME_DECODED_DATA, array(
-                       self::PACKAGE_DECODED_DATA => $decodedData,
-                       self::PACKAGE_ERROR_CODE   => $this->getErrorCode()
+               $this->getStackerInstance()->pushNamed(self::STACKER_NAME_RAW_DATA, array(
+                       self::PACKAGE_RAW_DATA   => $rawData,
+                       self::PACKAGE_ERROR_CODE => $this->getErrorCode()
                ));
        }
 
        /**
-        * Checks whether decoded data is pending for further processing.
+        * Checks whether raw data is pending for further processing.
         *
-        * @return      $isPending      Whether decoded data is pending
+        * @return      $isPending      Whether raw data is pending
         */
-       public function isDecodedDataPending () {
+       public function isRawDataPending () {
                // Does the stacker have some entries (not empty)?
-               $isPending = (!$this->getStackerInstance()->isStackEmpty(self::STACKER_NAME_DECODED_DATA));
+               $isPending = (!$this->getStackerInstance()->isStackEmpty(self::STACKER_NAME_RAW_DATA));
 
                // Return it
                return $isPending;
        }
 
        /**
-        * "Getter" for next decoded data from the stacker
+        * "Getter" for next raw data from the stacker
         *
-        * @return      $decodedData    Decoded data from the stacker
+        * @return      $rawData        Raw data from the stacker
         */
-       public function getNextDecodedData () {
-               // "Pop" the decoded data from the stacker
-               $decodedData = $this->getStackerInstance()->popNamed(self::STACKER_NAME_DECODED_DATA);
+       public function getNextRawData () {
+               // "Pop" the raw data from the stacker
+               $rawData = $this->getStackerInstance()->popNamed(self::STACKER_NAME_RAW_DATA);
 
                // And return it
-               return $decodedData;
+               return $rawData;
        }
 
        /**
@@ -150,10 +147,9 @@ class BaseRawDataHandler extends BaseHandler {
         */
        protected function ifRecipientMatchesOwnAddress (array $packageData) {
                // Construct own address first
-               $ownAddress = Registry::getRegistry()->getInstance('node')->getAddressPort($this);
+               $ownAddress = Registry::getRegistry()->getInstance('node')->getAddressPort();
 
                // Does it match?
-               // @TODO Numeric or alpha-numeric index?
                $matches = ($ownAddress === $packageData[NetworkPackage::PACKAGE_DATA_RECIPIENT]);
 
                // Return result
@@ -166,7 +162,7 @@ class BaseRawDataHandler extends BaseHandler {
         * @param       $errorCode      The error code we shall set
         * @return      void
         */
-       protected final function setErrorCode ($errorCode) {
+       public final function setErrorCode ($errorCode) {
                $this->errorCode = $errorCode;
        }