epics-base / pvAccessCPP

pvAccessCPP is an EPICS V4 C++ module
https://epics-base.github.io/pvAccessCPP/
Other
10 stars 22 forks source link

TX/RX Stats #151

Closed mdavidsaver closed 5 years ago

mdavidsaver commented 5 years ago

Keep and expose statistics on number of bytes sent/received per socket, and per operation.

Will be used by the PVA gateway to track client bandwidth utilization.

The new struct NetStats is not placed in the public portion of the ChannelProvider class hierarchy as it will not be implemented by many providers (probably only the PVA client and server). It does not fit with the symmetric idea of ChannelProvider. eg. It is implemented by PVA client for class ChannelGet, but for class ChannelGetRequester by PVA server.

mdavidsaver commented 5 years ago

This PR would be entirely unremarkable except that it adds unconditional use of epicsAtomic.h and thus requires Base >=3.15.

If/when this PR is merged, pvAccessCPP will no longer build against Base 3.14!

mdavidsaver commented 5 years ago

Silence is taken as acceptance. I'll be merging and removing the 3.14 compatibility #ifdefs from this module, and then pvDataCPP as well.