summaryrefslogtreecommitdiff
path: root/lib/gras_impl/messages.hpp
diff options
context:
space:
mode:
authorJosh Blum2012-09-29 09:33:54 -0700
committerJosh Blum2012-09-29 09:33:54 -0700
commitba9ed63e59c1fc92bc823d11d779fe162df0aca1 (patch)
tree99dba0d3a89965fd1884f09af315db82a3e034d1 /lib/gras_impl/messages.hpp
parentc92b1c1b320cb05c858bd0dcf4850de6e666e171 (diff)
downloadsandhi-ba9ed63e59c1fc92bc823d11d779fe162df0aca1.tar.gz
sandhi-ba9ed63e59c1fc92bc823d11d779fe162df0aca1.tar.bz2
sandhi-ba9ed63e59c1fc92bc823d11d779fe162df0aca1.zip
ported allocator and block handler to apology
Diffstat (limited to 'lib/gras_impl/messages.hpp')
-rw-r--r--lib/gras_impl/messages.hpp102
1 files changed, 81 insertions, 21 deletions
diff --git a/lib/gras_impl/messages.hpp b/lib/gras_impl/messages.hpp
index 0b1bed0..3b57fef 100644
--- a/lib/gras_impl/messages.hpp
+++ b/lib/gras_impl/messages.hpp
@@ -19,62 +19,122 @@
#include <gnuradio/sbuffer.hpp>
#include <gnuradio/tags.hpp>
+#include <gnuradio/sbuffer.hpp>
+#include <gras_impl/token.hpp>
namespace gnuradio
{
-struct BlockTagMessage
+//----------------------------------------------------------------------
+//-- message from the top block/executor
+//-- these messages must be ack'd
+//----------------------------------------------------------------------
+
+struct TopAllocMessage
+{
+ //empty
+};
+
+struct TopActiveMessage
+{
+ //empty
+};
+
+struct TopInertMessage
+{
+ //empty
+};
+
+struct TopTokenMessage
+{
+ Token token;
+};
+
+struct TopHintMessage
+{
+ size_t hint;
+};
+
+//----------------------------------------------------------------------
+//-- message to an input port
+//----------------------------------------------------------------------
+
+struct InputTagMessage
{
size_t index;
Tag tag;
};
-struct TopBlockMessage
+struct InputBufferMessage
{
- enum
- {
- ALLOCATE,
- ACTIVE,
- INERT,
- HINT,
- TOKEN_TIME,
- } what;
- size_t hint;
+ size_t index;
+ SBuffer buffer;
+};
+
+struct InputTokenMessage
+{
+ size_t index;
Token token;
};
-struct CheckTokensMessage
+struct InputAllocatorMessage
{
- //empty
+ size_t index;
+ SBufferToken token;
+ size_t recommend_length;
};
-struct SelfKickMessage
+struct InputCheckMessage
{
- //empty
+ size_t index;
};
-struct BufferReturnMessage
+//----------------------------------------------------------------------
+//-- message to an output port
+//----------------------------------------------------------------------
+
+struct OutputBufferMessage
{
size_t index;
SBuffer buffer;
};
-struct BufferHintMessage
+struct OutputTokenMessage
{
+ size_t index;
+ Token token;
+};
+
+struct OutputCheckMessage
+{
+ size_t index;
+};
+
+struct OutputHintMessage
+{
+ size_t index;
size_t history_bytes;
size_t reserve_bytes;
WeakToken token;
};
-struct UpdateInputsMessage
+//----------------------------------------------------------------------
+//-- message to just the block
+//----------------------------------------------------------------------
+
+struct SelfKickMessage
{
//empty
};
-struct InputAllocatorMessage
+struct CheckTokensMessage
{
- SBufferToken token;
- size_t recommend_length;
+ //empty
+};
+
+struct UpdateInputsMessage
+{
+ //empty
};
} //namespace gnuradio