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
@@ -112,7 +112,7 @@ void FairMQMessageZMQ::Rebuild(void* data, const size_t size, fairmq_free_fn* ff
|
||||
}
|
||||
}
|
||||
|
||||
void* FairMQMessageZMQ::GetMessage()
|
||||
zmq_msg_t* FairMQMessageZMQ::GetMessage()
|
||||
{
|
||||
if (!fViewMsg)
|
||||
{
|
||||
@@ -190,11 +190,6 @@ void FairMQMessageZMQ::ApplyUsedSize()
|
||||
}
|
||||
}
|
||||
|
||||
void FairMQMessageZMQ::SetMessage(void*, const size_t)
|
||||
{
|
||||
// dummy method to comply with the interface. functionality not allowed in zeromq.
|
||||
}
|
||||
|
||||
FairMQ::Transport FairMQMessageZMQ::GetType() const
|
||||
{
|
||||
return fTransportType;
|
||||
@@ -202,18 +197,19 @@ FairMQ::Transport FairMQMessageZMQ::GetType() const
|
||||
|
||||
void FairMQMessageZMQ::Copy(const FairMQMessagePtr& msg)
|
||||
{
|
||||
FairMQMessageZMQ* msgPtr = static_cast<FairMQMessageZMQ*>(msg.get());
|
||||
// Shares the message buffer between msg and this fMsg.
|
||||
if (zmq_msg_copy(fMsg.get(), static_cast<zmq_msg_t*>(msg->GetMessage())) != 0)
|
||||
if (zmq_msg_copy(fMsg.get(), msgPtr->GetMessage()) != 0)
|
||||
{
|
||||
LOG(ERROR) << "failed copying message, reason: " << zmq_strerror(errno);
|
||||
return;
|
||||
}
|
||||
|
||||
// if the target message has been resized, apply same to this message also
|
||||
if (static_cast<FairMQMessageZMQ*>(msg.get())->fUsedSizeModified)
|
||||
if (msgPtr->fUsedSizeModified)
|
||||
{
|
||||
fUsedSizeModified = true;
|
||||
fUsedSize = static_cast<FairMQMessageZMQ*>(msg.get())->fUsedSize;
|
||||
fUsedSize = msgPtr->fUsedSize;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -24,8 +24,12 @@
|
||||
#include "FairMQMessage.h"
|
||||
#include "FairMQUnmanagedRegion.h"
|
||||
|
||||
class FairMQSocketZMQ;
|
||||
|
||||
class FairMQMessageZMQ : public FairMQMessage
|
||||
{
|
||||
friend class FairMQSocketZMQ;
|
||||
|
||||
public:
|
||||
FairMQMessageZMQ();
|
||||
FairMQMessageZMQ(const size_t size);
|
||||
@@ -36,21 +40,15 @@ class FairMQMessageZMQ : public FairMQMessage
|
||||
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 ApplyUsedSize();
|
||||
|
||||
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;
|
||||
|
||||
~FairMQMessageZMQ() override;
|
||||
|
||||
@@ -60,6 +58,9 @@ class FairMQMessageZMQ : public FairMQMessage
|
||||
std::unique_ptr<zmq_msg_t> fMsg;
|
||||
std::unique_ptr<zmq_msg_t> fViewMsg; // view on a subset of fMsg (treating it as user buffer)
|
||||
static FairMQ::Transport fTransportType;
|
||||
|
||||
zmq_msg_t* GetMessage();
|
||||
void CloseMessage();
|
||||
};
|
||||
|
||||
#endif /* FAIRMQMESSAGEZMQ_H_ */
|
||||
|
@@ -119,7 +119,7 @@ int FairMQSocketZMQ::Send(FairMQMessagePtr& msg, const int flags)
|
||||
|
||||
while (true)
|
||||
{
|
||||
nbytes = zmq_msg_send(static_cast<zmq_msg_t*>(msg->GetMessage()), fSocket, flags);
|
||||
nbytes = zmq_msg_send(static_cast<FairMQMessageZMQ*>(msg.get())->GetMessage(), fSocket, flags);
|
||||
if (nbytes >= 0)
|
||||
{
|
||||
fBytesTx += nbytes;
|
||||
@@ -157,7 +157,7 @@ int FairMQSocketZMQ::Receive(FairMQMessagePtr& msg, const int flags)
|
||||
|
||||
while (true)
|
||||
{
|
||||
nbytes = zmq_msg_recv(static_cast<zmq_msg_t*>(msg->GetMessage()), fSocket, flags);
|
||||
nbytes = zmq_msg_recv(static_cast<FairMQMessageZMQ*>(msg.get())->GetMessage(), fSocket, flags);
|
||||
if (nbytes >= 0)
|
||||
{
|
||||
fBytesRx += nbytes;
|
||||
@@ -209,7 +209,7 @@ int64_t FairMQSocketZMQ::Send(vector<FairMQMessagePtr>& msgVec, const int flags)
|
||||
{
|
||||
static_cast<FairMQMessageZMQ*>(msgVec[i].get())->ApplyUsedSize();
|
||||
|
||||
nbytes = zmq_msg_send(static_cast<zmq_msg_t*>(msgVec[i]->GetMessage()),
|
||||
nbytes = zmq_msg_send(static_cast<FairMQMessageZMQ*>(msgVec[i].get())->GetMessage(),
|
||||
fSocket,
|
||||
(i < vecSize - 1) ? ZMQ_SNDMORE|flags : flags);
|
||||
if (nbytes >= 0)
|
||||
@@ -279,7 +279,7 @@ int64_t FairMQSocketZMQ::Receive(vector<FairMQMessagePtr>& msgVec, const int fla
|
||||
{
|
||||
unique_ptr<FairMQMessage> part(new FairMQMessageZMQ());
|
||||
|
||||
int nbytes = zmq_msg_recv(static_cast<zmq_msg_t*>(part->GetMessage()), fSocket, flags);
|
||||
int nbytes = zmq_msg_recv(static_cast<FairMQMessageZMQ*>(part.get())->GetMessage(), fSocket, flags);
|
||||
if (nbytes >= 0)
|
||||
{
|
||||
msgVec.push_back(move(part));
|
||||
|
Reference in New Issue
Block a user