diff options
author | Josh Blum | 2012-09-29 09:33:54 -0700 |
---|---|---|
committer | Josh Blum | 2012-09-29 09:33:54 -0700 |
commit | ba9ed63e59c1fc92bc823d11d779fe162df0aca1 (patch) | |
tree | 99dba0d3a89965fd1884f09af315db82a3e034d1 /lib/gras_impl/messages.hpp | |
parent | c92b1c1b320cb05c858bd0dcf4850de6e666e171 (diff) | |
download | sandhi-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.hpp | 102 |
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 |