// // Copyright 2012 Josh Blum // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU Lesser General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public License // along with io_sig program. If not, see . #ifndef INCLUDED_LIBGRAS_IMPL_MESSAGES_HPP #define INCLUDED_LIBGRAS_IMPL_MESSAGES_HPP #include #include #include #include namespace gnuradio { //---------------------------------------------------------------------- //-- 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 //-- do not ack //---------------------------------------------------------------------- struct InputTagMessage { InputTagMessage(const Tag &tag):tag(tag){} size_t index; Tag tag; }; struct InputBufferMessage { size_t index; SBuffer buffer; }; struct InputTokenMessage { size_t index; Token token; }; struct InputAllocMessage { size_t index; SBufferToken token; size_t recommend_length; }; struct InputCheckMessage { size_t index; }; //---------------------------------------------------------------------- //-- message to an output port //-- do not ack //---------------------------------------------------------------------- struct OutputBufferMessage { size_t index; SBuffer buffer; }; 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 OutputAllocMessage { size_t index; SBufferToken token; }; //---------------------------------------------------------------------- //-- message to just the block //-- do not ack //---------------------------------------------------------------------- struct SelfKickMessage { //empty }; struct UpdateInputsMessage { //empty }; } //namespace gnuradio #endif /*INCLUDED_LIBGRAS_IMPL_MESSAGES_HPP*/