-
Notifications
You must be signed in to change notification settings - Fork 195
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Is tcp+log.in carrier meant to be used only with RpcServer/RpcClient classes? #304
Comments
@barbalberto the
and you should see messages being received by /r echoed to /r2 For the question in the issue title: no, the logging mechanism knows nothing about the RpcClient/RpcServer classes, it is not specialized for those. |
WHAT ?? Is that the way it works? So the way I should read the command Are the three versions And it should work like this, right? If I use plain yarp read/write, it seems that the carrier is ignored because the leading [rpc] is missing in the output so it is not a good test. If I try with the rpcClient/server test the result is different from the picture above If the log.in would log the input messages then when I do Instead, in the first case I get If I do the vice-versa: It seems that it only echoes input+reply and the timing is the time of the reply, therefore no reply means no log, and this is why it doesn't work on the client side I guess. So the real thing looks like this When the instruction says that you get the input from the source it is wrong, you get the output from the destination port. So I wonder if there is also some log.out! If I try I get the same result as log.in while if I try with only tcp+log it gives an error (Failure: Outputs not allowed) Is log.out the same as log.in? I'm fine with this usage, but the documentation should be far more clear. |
@barbalberto a quick test on my side. yarp rpcserver /server yarp read /sniffer tcp+log.in://server and yarp read /sniffer or yarp connect /server /sniffer tcp+log.in work as expected, /server relies all traffic (incoming message + reply) to /sniffer |
@barbalberto my apologies that the documentation is confusing. Sorry you've all been losing time with this. The way to read the command
For a streaming port, the log of inputs will be simple, just a copy of what is coming in to that port. If the port is replying to its inputs, the log will be tagged with There is no |
|
Thanks Paul, sorry for my vent in the previous message. Just one more question: dumping the data with the dataDumper using the code
it always get -1 as a sequenceNumber while the timestamp look fine; |
This is an expected behavior if the incoming messages do not contain the envelope. |
I did some testing and the logging connection seems to correctly copy the envelope of incoming messages. If there is no envelope on incoming messages, it doesn't add one (hopefully |
Since it is used for logging purpose I think it would be nice to add one if not present. Thanks |
The data packet number is meaningful only when it refers to data transmitted along with the envelope in order to see whether we have a packet loss. Moreover, I deem a |
Closing this issue. It feels like there is a remaining question about envelopes (maybe yarp should be adding one by default if the user doesn't?) but it is not specific to the |
It would be great to use this carrier to monitor messages from / to controlBoardWrapper2 but currently it seems that it does not work.
I tried the tests here: http://eris.liralab.it/yarpdoc/rpc_ports.html and they are working fine, but if I do it with a simple yarp read & write it doesn't.
yarp write /w
yarp read /r /w
yarp read /r2
yarp connect /w /r tcp+log.in
it says-> Success: Added connection from /w to tcp+log.in://r2;
port /r2 says -> yarp: Receiving input from /w to /r2 using tcp+log.in
but data are not shown in the /r2 port (while if I simply do a connect /w /r2 it works)
Also I'm not able to use it with robotMotorGui or other tools using the remote_controlboard.
The text was updated successfully, but these errors were encountered: