Can I send a C++ class object via boost::interprocess::message_queue?
How do I send a c++ class object via boost::interprocess::message_queue
?
Can someone share sample code for an IPC implementation using boost::interprocess::message_queue
with IPC data as a Class object?
c++ boost message-queue
add a comment |
How do I send a c++ class object via boost::interprocess::message_queue
?
Can someone share sample code for an IPC implementation using boost::interprocess::message_queue
with IPC data as a Class object?
c++ boost message-queue
add a comment |
How do I send a c++ class object via boost::interprocess::message_queue
?
Can someone share sample code for an IPC implementation using boost::interprocess::message_queue
with IPC data as a Class object?
c++ boost message-queue
How do I send a c++ class object via boost::interprocess::message_queue
?
Can someone share sample code for an IPC implementation using boost::interprocess::message_queue
with IPC data as a Class object?
c++ boost message-queue
c++ boost message-queue
edited Nov 19 at 23:21
bcperth
2,0031514
2,0031514
asked Nov 19 at 14:40
Avinash Boddu
215
215
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
How can i send c++ class object via boost::interprocess::message_queue?
//Class Defination
#define MQ_DATA IPCMsg
class IPCMsg
{
public:
IPCMsg() { data = NULL; }
int len;
void* data;
};
// Initialize message Queue
mSendMq = new message_queue(OPEN_OR_CREATE, "MQ", 1024, sizeof(MQ_DATA));
mReceiveMq = new message_queue(OPEN_ONLY, "MQ");
// Send Data to message Queue
MQ_DATA* inData = new IPCMsg();
mSendMq->send(inData, sizeof(*inData), 0);
// Receive Data from message Queue
MQ_DATA* outdata = NULL;
mReceiveMq->receive(&outdata, sizeof(*outdata), 1024, priority);
1
Does this compile?
– G.M.
Nov 19 at 20:22
Note, that even if this did compile you are passing a raw pointer (uninitialized) --inData->data
-- from the address space of one process to the address space of another and expecting it to be valid.
– G.M.
Nov 19 at 20:47
@G.M , It was compiling successfully. I have shared you the partial code. I was initializing "inData->data" and sending it to Message Queue. But observed, results were not as expected. Could you please help me in this regard by sharing some sample code for better understanding
– Avinash Boddu
Nov 20 at 7:27
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53376963%2fcan-i-send-a-c-class-object-via-boostinterprocessmessage-queue%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
How can i send c++ class object via boost::interprocess::message_queue?
//Class Defination
#define MQ_DATA IPCMsg
class IPCMsg
{
public:
IPCMsg() { data = NULL; }
int len;
void* data;
};
// Initialize message Queue
mSendMq = new message_queue(OPEN_OR_CREATE, "MQ", 1024, sizeof(MQ_DATA));
mReceiveMq = new message_queue(OPEN_ONLY, "MQ");
// Send Data to message Queue
MQ_DATA* inData = new IPCMsg();
mSendMq->send(inData, sizeof(*inData), 0);
// Receive Data from message Queue
MQ_DATA* outdata = NULL;
mReceiveMq->receive(&outdata, sizeof(*outdata), 1024, priority);
1
Does this compile?
– G.M.
Nov 19 at 20:22
Note, that even if this did compile you are passing a raw pointer (uninitialized) --inData->data
-- from the address space of one process to the address space of another and expecting it to be valid.
– G.M.
Nov 19 at 20:47
@G.M , It was compiling successfully. I have shared you the partial code. I was initializing "inData->data" and sending it to Message Queue. But observed, results were not as expected. Could you please help me in this regard by sharing some sample code for better understanding
– Avinash Boddu
Nov 20 at 7:27
add a comment |
How can i send c++ class object via boost::interprocess::message_queue?
//Class Defination
#define MQ_DATA IPCMsg
class IPCMsg
{
public:
IPCMsg() { data = NULL; }
int len;
void* data;
};
// Initialize message Queue
mSendMq = new message_queue(OPEN_OR_CREATE, "MQ", 1024, sizeof(MQ_DATA));
mReceiveMq = new message_queue(OPEN_ONLY, "MQ");
// Send Data to message Queue
MQ_DATA* inData = new IPCMsg();
mSendMq->send(inData, sizeof(*inData), 0);
// Receive Data from message Queue
MQ_DATA* outdata = NULL;
mReceiveMq->receive(&outdata, sizeof(*outdata), 1024, priority);
1
Does this compile?
– G.M.
Nov 19 at 20:22
Note, that even if this did compile you are passing a raw pointer (uninitialized) --inData->data
-- from the address space of one process to the address space of another and expecting it to be valid.
– G.M.
Nov 19 at 20:47
@G.M , It was compiling successfully. I have shared you the partial code. I was initializing "inData->data" and sending it to Message Queue. But observed, results were not as expected. Could you please help me in this regard by sharing some sample code for better understanding
– Avinash Boddu
Nov 20 at 7:27
add a comment |
How can i send c++ class object via boost::interprocess::message_queue?
//Class Defination
#define MQ_DATA IPCMsg
class IPCMsg
{
public:
IPCMsg() { data = NULL; }
int len;
void* data;
};
// Initialize message Queue
mSendMq = new message_queue(OPEN_OR_CREATE, "MQ", 1024, sizeof(MQ_DATA));
mReceiveMq = new message_queue(OPEN_ONLY, "MQ");
// Send Data to message Queue
MQ_DATA* inData = new IPCMsg();
mSendMq->send(inData, sizeof(*inData), 0);
// Receive Data from message Queue
MQ_DATA* outdata = NULL;
mReceiveMq->receive(&outdata, sizeof(*outdata), 1024, priority);
How can i send c++ class object via boost::interprocess::message_queue?
//Class Defination
#define MQ_DATA IPCMsg
class IPCMsg
{
public:
IPCMsg() { data = NULL; }
int len;
void* data;
};
// Initialize message Queue
mSendMq = new message_queue(OPEN_OR_CREATE, "MQ", 1024, sizeof(MQ_DATA));
mReceiveMq = new message_queue(OPEN_ONLY, "MQ");
// Send Data to message Queue
MQ_DATA* inData = new IPCMsg();
mSendMq->send(inData, sizeof(*inData), 0);
// Receive Data from message Queue
MQ_DATA* outdata = NULL;
mReceiveMq->receive(&outdata, sizeof(*outdata), 1024, priority);
edited Nov 20 at 7:28
answered Nov 19 at 14:40
Avinash Boddu
215
215
1
Does this compile?
– G.M.
Nov 19 at 20:22
Note, that even if this did compile you are passing a raw pointer (uninitialized) --inData->data
-- from the address space of one process to the address space of another and expecting it to be valid.
– G.M.
Nov 19 at 20:47
@G.M , It was compiling successfully. I have shared you the partial code. I was initializing "inData->data" and sending it to Message Queue. But observed, results were not as expected. Could you please help me in this regard by sharing some sample code for better understanding
– Avinash Boddu
Nov 20 at 7:27
add a comment |
1
Does this compile?
– G.M.
Nov 19 at 20:22
Note, that even if this did compile you are passing a raw pointer (uninitialized) --inData->data
-- from the address space of one process to the address space of another and expecting it to be valid.
– G.M.
Nov 19 at 20:47
@G.M , It was compiling successfully. I have shared you the partial code. I was initializing "inData->data" and sending it to Message Queue. But observed, results were not as expected. Could you please help me in this regard by sharing some sample code for better understanding
– Avinash Boddu
Nov 20 at 7:27
1
1
Does this compile?
– G.M.
Nov 19 at 20:22
Does this compile?
– G.M.
Nov 19 at 20:22
Note, that even if this did compile you are passing a raw pointer (uninitialized) --
inData->data
-- from the address space of one process to the address space of another and expecting it to be valid.– G.M.
Nov 19 at 20:47
Note, that even if this did compile you are passing a raw pointer (uninitialized) --
inData->data
-- from the address space of one process to the address space of another and expecting it to be valid.– G.M.
Nov 19 at 20:47
@G.M , It was compiling successfully. I have shared you the partial code. I was initializing "inData->data" and sending it to Message Queue. But observed, results were not as expected. Could you please help me in this regard by sharing some sample code for better understanding
– Avinash Boddu
Nov 20 at 7:27
@G.M , It was compiling successfully. I have shared you the partial code. I was initializing "inData->data" and sending it to Message Queue. But observed, results were not as expected. Could you please help me in this regard by sharing some sample code for better understanding
– Avinash Boddu
Nov 20 at 7:27
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53376963%2fcan-i-send-a-c-class-object-via-boostinterprocessmessage-queue%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown