mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-16 01:51:45 +00:00
remove Get/SetMessage from interface (internal transport detail)
This commit is contained in:
committed by
Mohammad Al-Turany
parent
e5aa85b61d
commit
ea7ae3ded9
@@ -197,7 +197,7 @@ void FairMQMessageSHM::Rebuild(void* data, const size_t size, fairmq_free_fn* ff
|
||||
}
|
||||
}
|
||||
|
||||
void* FairMQMessageSHM::GetMessage()
|
||||
zmq_msg_t* FairMQMessageSHM::GetMessage()
|
||||
{
|
||||
return &fMessage;
|
||||
}
|
||||
@@ -269,11 +269,6 @@ bool FairMQMessageSHM::SetUsedSize(const size_t size)
|
||||
}
|
||||
}
|
||||
|
||||
void FairMQMessageSHM::SetMessage(void*, const size_t)
|
||||
{
|
||||
// dummy method to comply with the interface. functionality not allowed in zeromq.
|
||||
}
|
||||
|
||||
FairMQ::Transport FairMQMessageSHM::GetType() const
|
||||
{
|
||||
return fTransportType;
|
||||
|
@@ -20,6 +20,8 @@
|
||||
#include <cstddef> // size_t
|
||||
#include <atomic>
|
||||
|
||||
class FairMQSocketSHM;
|
||||
|
||||
class FairMQMessageSHM : public FairMQMessage
|
||||
{
|
||||
friend class FairMQSocketSHM;
|
||||
@@ -33,25 +35,18 @@ class FairMQMessageSHM : public FairMQMessage
|
||||
FairMQMessageSHM(const FairMQMessageSHM&) = delete;
|
||||
FairMQMessageSHM operator=(const FairMQMessageSHM&) = delete;
|
||||
|
||||
bool InitializeChunk(const size_t size);
|
||||
|
||||
void Rebuild() override;
|
||||
void Rebuild(const size_t size) override;
|
||||
void Rebuild(void* data, const size_t size, fairmq_free_fn* ffn, void* hint = nullptr) override;
|
||||
|
||||
void* GetMessage() override;
|
||||
void* GetData() override;
|
||||
size_t GetSize() const override;
|
||||
|
||||
bool SetUsedSize(const size_t size) override;
|
||||
|
||||
void SetMessage(void* data, const size_t size) override;
|
||||
|
||||
FairMQ::Transport GetType() const override;
|
||||
|
||||
void Copy(const std::unique_ptr<FairMQMessage>& msg) override;
|
||||
|
||||
void CloseMessage();
|
||||
void Copy(const FairMQMessagePtr& msg) override;
|
||||
|
||||
~FairMQMessageSHM() override;
|
||||
|
||||
@@ -67,6 +62,10 @@ class FairMQMessageSHM : public FairMQMessage
|
||||
boost::interprocess::managed_shared_memory::handle_t fHandle;
|
||||
size_t fSize;
|
||||
char* fLocalPtr;
|
||||
|
||||
bool InitializeChunk(const size_t size);
|
||||
zmq_msg_t* GetMessage();
|
||||
void CloseMessage();
|
||||
};
|
||||
|
||||
#endif /* FAIRMQMESSAGESHM_H_ */
|
||||
|
@@ -114,7 +114,7 @@ int FairMQSocketSHM::Send(FairMQMessagePtr& msg, const int flags)
|
||||
int nbytes = -1;
|
||||
while (true && !fInterrupted)
|
||||
{
|
||||
nbytes = zmq_msg_send(static_cast<zmq_msg_t*>(msg->GetMessage()), fSocket, flags);
|
||||
nbytes = zmq_msg_send(static_cast<FairMQMessageSHM*>(msg.get())->GetMessage(), fSocket, flags);
|
||||
if (nbytes == 0)
|
||||
{
|
||||
return nbytes;
|
||||
@@ -158,7 +158,7 @@ int FairMQSocketSHM::Send(FairMQMessagePtr& msg, const int flags)
|
||||
int FairMQSocketSHM::Receive(FairMQMessagePtr& msg, const int flags)
|
||||
{
|
||||
int nbytes = -1;
|
||||
zmq_msg_t* msgPtr = static_cast<zmq_msg_t*>(msg->GetMessage());
|
||||
zmq_msg_t* msgPtr = static_cast<FairMQMessageSHM*>(msg.get())->GetMessage();
|
||||
while (true)
|
||||
{
|
||||
nbytes = zmq_msg_recv(msgPtr, fSocket, flags);
|
||||
@@ -221,7 +221,7 @@ int64_t FairMQSocketSHM::Send(vector<FairMQMessagePtr>& msgVec, const int flags)
|
||||
{
|
||||
for (unsigned int i = 0; i < vecSize; ++i)
|
||||
{
|
||||
nbytes = zmq_msg_send(static_cast<zmq_msg_t*>(msgVec[i]->GetMessage()),
|
||||
nbytes = zmq_msg_send(static_cast<FairMQMessageSHM*>(msgVec[i].get())->GetMessage(),
|
||||
fSocket,
|
||||
(i < vecSize - 1) ? ZMQ_SNDMORE|flags : flags);
|
||||
if (nbytes >= 0)
|
||||
@@ -302,7 +302,7 @@ int64_t FairMQSocketSHM::Receive(vector<FairMQMessagePtr>& msgVec, const int fla
|
||||
do
|
||||
{
|
||||
FairMQMessagePtr part(new FairMQMessageSHM(fManager));
|
||||
zmq_msg_t* msgPtr = static_cast<zmq_msg_t*>(part->GetMessage());
|
||||
zmq_msg_t* msgPtr = static_cast<FairMQMessageSHM*>(part.get())->GetMessage();
|
||||
|
||||
int nbytes = zmq_msg_recv(msgPtr, fSocket, flags);
|
||||
if (nbytes == 0)
|
||||
|
Reference in New Issue
Block a user