Replies: 2 comments
-
Correct, they are not the same MessageReceiver. The first one is the MessageReceiver for the meta-traffic (i.e. discovery) listening port. The second one is for the user traffic listening port. That said, we don't recommend creating endpoints inside callbacks, since the internal behavior could change in the future. |
Beta Was this translation helpful? Give feedback.
0 replies
-
好的,收到了你的邮件,我会尽快查看。
|
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
In the file Fast-DDS\examples\cpp\dds\TypeLookupService\TypeLookupSubscriber.cpp, we create DataReader in a lambda, Which is registered in the function:register_remote_type. The picture shows detail:
But the listener will be called when the subscriber receiver a message, and when the message moudle process the data, the shared_lock is created:
This is reader lock,right?
And when we call the function "on_type_information_received" in listener, we will create a DataReader. And in the process,we will associate the reader endpoint with a MessageReceiver, But we will create a writer lock too, they are the same shared_mutex. why there is no deadlock.
May be they are not the same MessageReceiver? I think it should not be, both of them are udp transport.
Sorry my English is poor, can you understand me?
Beta Was this translation helpful? Give feedback.
All reactions