From 584cf5b4507907323b3c0b12f83fc39b8e982e82 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Tue, 28 Jan 2020 20:58:05 -0800 Subject: [PATCH] minor --- src/dataencode.cpp | 5 +---- src/pvxs/source.h | 10 ++++++++-- src/serverget.cpp | 1 + src/servermon.cpp | 5 ++--- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/dataencode.cpp b/src/dataencode.cpp index 94f83dc..365149b 100644 --- a/src/dataencode.cpp +++ b/src/dataencode.cpp @@ -447,10 +447,7 @@ void to_wire_valid(Buffer& buf, const Value& val) to_wire(buf, valid); - for(auto bit : range(desc->size())) { - if(!(store.get()+bit)->valid) - continue; - + for(auto bit : valid.onlySet()) { std::shared_ptr cstore(store, store.get()+bit); to_wire_field(buf, desc+bit, cstore); } diff --git a/src/pvxs/source.h b/src/pvxs/source.h index 7b342da..d3cc839 100644 --- a/src/pvxs/source.h +++ b/src/pvxs/source.h @@ -63,7 +63,10 @@ struct PVXS_API ExecOp : public OpBase { //! Handle when an operation is being setup struct PVXS_API ConnectOp : public OpBase { - Value pvRequest; +protected: + Value _pvRequest; +public: + const Value& pvRequest() const { return _pvRequest; } //! For GET_FIELD, GET, or PUT. Inform peer of our data-type virtual void connect(const Value& prototype) =0; @@ -137,7 +140,10 @@ public: //! Handle for subscription which is being setup struct PVXS_API MonitorSetupOp : public OpBase { - Value pvRequest; +protected: + Value _pvRequest; +public: + const Value& pvRequest() const { return _pvRequest; } //! Inform peer of our data-type and acquire control of subscription queue. //! The queue is initially stopped. diff --git a/src/serverget.cpp b/src/serverget.cpp index 67ea14e..5bc90de 100644 --- a/src/serverget.cpp +++ b/src/serverget.cpp @@ -139,6 +139,7 @@ struct ServerGPRConnect : public server::ConnectOp _name = name; _peerName = conn->peerName; _ifaceName = conn->iface->name; + _pvRequest = request; } virtual ~ServerGPRConnect() { error("Op Create implied error"); diff --git a/src/servermon.cpp b/src/servermon.cpp index 4a56a07..660c758 100644 --- a/src/servermon.cpp +++ b/src/servermon.cpp @@ -189,7 +189,6 @@ struct ServerMonitorControl : public server::MonitorControlOp ServerMonitorControl(ServerMonitorSetup* setup, const std::weak_ptr& server, const std::string& name, - const Value& request, const std::weak_ptr& op); virtual ~ServerMonitorControl() { finish(); @@ -269,6 +268,7 @@ struct ServerMonitorSetup : public server::MonitorSetupOp _name = name; _peerName = conn->peerName; _ifaceName = conn->iface->name; + _pvRequest = request; } virtual ~ServerMonitorSetup() { error("Monitor Create implied error"); @@ -290,7 +290,7 @@ struct ServerMonitorSetup : public server::MonitorSetupOp if(oper->state!=ServerOp::Creating) return; oper->type = type; - ret.reset(new ServerMonitorControl(this, server, _name, pvRequest, oper)); + ret.reset(new ServerMonitorControl(this, server, _name, oper)); oper->doReply(); } }); @@ -334,7 +334,6 @@ struct ServerMonitorSetup : public server::MonitorSetupOp ServerMonitorControl::ServerMonitorControl(ServerMonitorSetup* setup, const std::weak_ptr& server, const std::string& name, - const Value& request, const std::weak_ptr& op) :server(server) ,op(op)