mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-15 17:41:45 +00:00
enable/disable multipart functionnality for sending header if source policy has the proper signature
add comment to sendHeader
This commit is contained in:
committed by
Mohammad Al-Turany
parent
6ce6887212
commit
13d3729fec
@@ -43,7 +43,7 @@
|
||||
*
|
||||
* void BindSendHeader(std::function<void(int)> callback) // enabled if exists
|
||||
* void BindGetSocketNumber(std::function<int()> callback) // enabled if exists
|
||||
* void BindGetCurrentIndex(std::function<int()> callback) // enabled if exists
|
||||
* void GetHeader(std::function<int()> callback) // enabled if exists
|
||||
*
|
||||
* -------- OUTPUT POLICY --------
|
||||
* serialization_type::SerializeMsg(CONTAINER_TYPE) // must be there to compile
|
||||
@@ -174,6 +174,17 @@ class base_GenericSampler : public FairMQDevice, public T, public U
|
||||
source_type::BindGetSocketNumber(std::bind(&base_GenericSampler::GetSocketNumber,this) );
|
||||
}
|
||||
|
||||
template<typename S = source_type,FairMQ::tools::enable_if_hasNot_GetHeader<S> = 0>
|
||||
void SendHeader(int socketIdx) {}
|
||||
template<typename S = source_type,FairMQ::tools::enable_if_has_GetHeader<S> = 0>
|
||||
void SendHeader(int socketIdx)
|
||||
{
|
||||
std::unique_ptr<FairMQMessage> msg(fTransportFactory->CreateMessage());
|
||||
serialization_type::SetMessage(msg.get());
|
||||
// remark : serialization_type must have an overload of the SerializeMsg to serialize the Header structure
|
||||
fChannels.at(fOutChanName).at(socketIdx).Send(serialization_type::SerializeMsg(source_type::GetHeader()), "snd-more");
|
||||
}
|
||||
|
||||
template<typename S = source_type,FairMQ::tools::enable_if_hasNot_BindGetCurrentIndex<S> = 0>
|
||||
void BindingGetCurrentIndex() {}
|
||||
template<typename S = source_type,FairMQ::tools::enable_if_has_BindGetCurrentIndex<S> = 0>
|
||||
|
Reference in New Issue
Block a user