/**
* An interface for package receivers
*
- * @author Roland Haeder <webmaster@ship-simu.org>
+ * @author Roland Haeder <webmaster@shipsimu.org>
* @version 0.0.0
- * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2011 Hub Developer Team
+ * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2012 Hub Developer Team
* @license GNU GPL 3.0 or any newer version
- * @link http://www.ship-simu.org
+ * @link http://www.shipsimu.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
*
* @return $isHandled Whether incoming decoded data is handled
*/
- function isIncomingDecodedDataHandled ();
+ function isIncomingRawDataHandled ();
/**
* Assembles incoming decoded data so it will become an abstract network
function assembleDecodedDataToPackage ();
/**
- * Checks whether a new package has arrived
+ * Checks whether a new message has arrived
*
- * @return $hasArrived Whether a new package has arrived for processing
+ * @return $hasArrived Whether a new message has arrived for processing
*/
- function isNewPackageArrived ();
+ function isNewMessageArrived ();
+
+ /**
+ * Handle newly arrived message
+ *
+ * @return void
+ */
+ function handleNewlyArrivedMessage ();
+
+ /**
+ * Checks whether a processed message is pending for "interpretation"
+ *
+ * @return $isPending Whether a processed message is pending
+ */
+ function isProcessedMessagePending ();
+
+ /**
+ * Handle processed messages by "interpreting" the 'message_type' element
+ *
+ * @return void
+ */
+ function handleProcessedMessage ();
/**
* Adds raw decoded data from the given handler instance to this receiver
* @param $handlerInstance An instance of a Networkable class
* @return void
*/
- function addDecodedDataToIncomingStack (Networkable $handlerInstance);
+ function addRawDataToIncomingStack (Networkable $handlerInstance);
/**
* "Decode" the package content. This method does also verify the attached hash
* @return $decodedData The real package data that the sender has sent
*/
function decodeRawContent ($rawPackageContent);
+
+ /**
+ * Checks whether the assembler has pending data left
+ *
+ * @return $isHandled Whether the assembler has pending data left
+ */
+ function ifAssemblerHasPendingDataLeft ();
+
+ /**
+ * Handles the attached assemler's pending data queue to be finally
+ * assembled to the raw package data back.
+ *
+ * @return void
+ */
+ function handleAssemblerPendingData ();
+
+ /**
+ * Handles decoded data for this node
+ *
+ * @param $decodedData An array with decoded raw package data
+ * @return void
+ */
+ function handleRawData (array $decodedData);
}
// [EOF]