-
Notifications
You must be signed in to change notification settings - Fork 33
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
Add server to client remote log #99
base: master
Are you sure you want to change the base?
Conversation
@kasemir fyi. I do not think you would not need to change anything in core.pva. |
Client always logged received CMD_MESSAGE, but lacked example for issuing message from server epics-base/pvxs#99
Java client always logged received CMD_MESSAGE, but server lacked example for issuing message, so added that. From https://docs.epics-controls.org/en/latest/pv-access/Protocol-Messages.html#cmd-message-0x12 it's not clear to me what the request ID represents. All other messages, if they have a request ID, it's from the client. The server then replies to some request with the client's request ID. |
The usage in pvAccessCPP treats this as a IOID, aka. operation ID. So get/put/monitor/rpc. The documentation should certainly be clarified... |
Which also implies a common requestID/IOID space for all operation types. And also implies that I had been thinking to "cheat" in this later case and send |
Right, it can only reply to a specific request. Usage of CMD_MESSAGE seems limited to messages that only come up later, after the immediate reply to a request reported OK but then something else happened. |
Agreed. The situations this PR add And I take your point that the I will figure out how to change this PR to only add |
d82ffce
to
af225ea
Compare
This has been done, and I am happy with the result. However, merging now would introduce an ABI change. Since this is not an essential change, I'm going to leave it until after 1.3.3. (So the next next release will be 1.4.0) |
Adds an interface for a server to send
CMD_MESSAGE
remote logging to the associated client.Change client-side handling to print remote messages through
pvxs/log.h
API via thepvxs.remote.log
logger. By default only mtype>=1 will be printed. This can be change by eg.PVXS_LOG=pvxs.remote.log=INFO
.Initially, add logging related to processing of
pvRequest
blobs. Client monitor pvRequest processing also gets a moderate reorganization.