disable pvAccessMB and unused ref-counting boilerplate

This commit is contained in:
Michael Davidsaver
2017-11-05 16:54:10 -06:00
parent 5e900b1f11
commit 49173ec884
8 changed files with 8 additions and 155 deletions

View File

@@ -3,5 +3,3 @@
SRC_DIRS += $(PVACCESS_SRC)/mb
INC += pv/pvAccessMB.h
pvAccess_SRCS += pvAccessMB.cpp

View File

@@ -7,11 +7,7 @@
#ifndef _PVACCESSMB_H_
#define _PVACCESSMB_H_
#ifdef WITH_MICROBENCH
#include <pv/mb.h>
#else
/* this header is deprecated */
#define MB_DECLARE(NAME, SIZE)
#define MB_DECLARE_EXTERN(NAME)
@@ -38,7 +34,3 @@
#define MB_INIT
#endif
MB_DECLARE_EXTERN(channelGet);
#endif

View File

@@ -1,15 +0,0 @@
/**
* Copyright - See the COPYRIGHT that is included with this distribution.
* pvAccessCPP is distributed subject to a Software License Agreement found
* in file LICENSE that is included with this distribution.
*/
#ifdef WITH_MICROBENCH
#include <pv/mb.h>
#endif
#define epicsExportSharedSymbols
#include "pv/pvAccessMB.h"
MB_DECLARE(channelGet, 100000);

View File

@@ -42,8 +42,6 @@ inline int sendto(int s, const char *buf, size_t len, int flags, const struct so
// reserve some space for CMD_ORIGIN_TAG message
#define RECEIVE_BUFFER_PRE_RESERVE (PVA_MESSAGE_HEADER_SIZE + 16)
PVACCESS_REFCOUNT_MONITOR_DEFINE(blockingUDPTransport);
BlockingUDPTransport::BlockingUDPTransport(bool serverFlag,
ResponseHandler::shared_pointer const & responseHandler, SOCKET channel,
osiSockAddr& bindAddress,
@@ -63,7 +61,6 @@ BlockingUDPTransport::BlockingUDPTransport(bool serverFlag,
_clientServerWithEndianFlag(
(serverFlag ? 0x40 : 0x00) | ((EPICS_BYTE_ORDER == EPICS_ENDIAN_BIG) ? 0x80 : 0x00))
{
PVACCESS_REFCOUNT_MONITOR_CONSTRUCT(blockingUDPTransport);
assert(_responseHandler.get());
osiSocklen_t sockLen = sizeof(sockaddr);
@@ -85,7 +82,6 @@ BlockingUDPTransport::BlockingUDPTransport(bool serverFlag,
}
BlockingUDPTransport::~BlockingUDPTransport() {
PVACCESS_REFCOUNT_MONITOR_DESTRUCT(blockingUDPTransport);
close(true); // close the socket and stop the thread.
}

View File

@@ -40,12 +40,6 @@
namespace epics {
namespace pvAccess {
#define PVACCESS_REFCOUNT_MONITOR_DEFINE(name)
#define PVACCESS_REFCOUNT_MONITOR_CONSTRUCT(name)
#define PVACCESS_REFCOUNT_MONITOR_DESTRUCT(name)
//#define PVACCESS_REFCOUNT_MONITOR_CONSTRUCT(name) LOG(logLevelDebug, #name "::" #name);
//#define PVACCESS_REFCOUNT_MONITOR_DESTRUCT(name) LOG(logLevelDebug, #name "::~" #name);
class TransportRegistry;
enum QoS {

View File

@@ -424,7 +424,6 @@ Status BaseRequestImpl::invalidPutArrayStatus(Status::STATUSTYPE_ERROR, "incompa
Status BaseRequestImpl::invalidBitSetLengthStatus(Status::STATUSTYPE_ERROR, "invalid bit-set length");
Status BaseRequestImpl::pvRequestNull(Status::STATUSTYPE_ERROR, "pvRequest == 0");
PVACCESS_REFCOUNT_MONITOR_DEFINE(channelProcess);
class ChannelProcessRequestImpl :
public BaseRequestImpl,
@@ -439,7 +438,6 @@ public:
m_callback(callback),
m_pvRequest(pvRequest)
{
PVACCESS_REFCOUNT_MONITOR_CONSTRUCT(channelProcess);
}
virtual void activate() OVERRIDE FINAL
@@ -460,7 +458,6 @@ public:
~ChannelProcessRequestImpl()
{
PVACCESS_REFCOUNT_MONITOR_DESTRUCT(channelProcess);
}
ChannelBaseRequester::shared_pointer getRequester() OVERRIDE FINAL { return m_callback.lock(); }
@@ -551,7 +548,6 @@ public:
PVACCESS_REFCOUNT_MONITOR_DEFINE(channelGet);
class ChannelGetImpl :
public BaseRequestImpl,
@@ -574,7 +570,6 @@ public:
m_callback(requester),
m_pvRequest(pvRequest)
{
PVACCESS_REFCOUNT_MONITOR_CONSTRUCT(channelGet);
}
virtual void activate() OVERRIDE FINAL
@@ -600,7 +595,6 @@ public:
virtual ~ChannelGetImpl()
{
PVACCESS_REFCOUNT_MONITOR_DESTRUCT(channelGet);
}
ChannelBaseRequester::shared_pointer getRequester() OVERRIDE FINAL { return m_callback.lock(); }
@@ -609,8 +603,6 @@ public:
int32 pendingRequest = getPendingRequest();
bool initStage = ((pendingRequest & QOS_INIT) != 0);
MB_POINT_CONDITIONAL(channelGet, 1, "client channelGet->serialize (start)", !initStage);
if (pendingRequest < 0)
{
BaseRequestImpl::send(buffer, control);
@@ -628,8 +620,6 @@ public:
SerializationHelper::serializePVRequest(buffer, control, m_pvRequest);
}
MB_POINT_CONDITIONAL(channelGet, 2, "client channelGet->serialize (end)", !initStage);
stopRequest();
}
@@ -653,8 +643,6 @@ public:
virtual void normalResponse(Transport::shared_pointer const & transport, int8 /*version*/, ByteBuffer* payloadBuffer, int8 /*qos*/, const Status& status) OVERRIDE FINAL {
MB_POINT(channelGet, 8, "client channelGet->deserialize (start)");
if (!status.isSuccess())
{
EXCEPTION_GUARD3(m_callback, cb, cb->getDone(status, external_from_this<ChannelGetImpl>(), PVStructurePtr(), BitSetPtr()));
@@ -668,16 +656,11 @@ public:
m_structure->deserialize(payloadBuffer, transport.get(), m_bitSet.get());
}
MB_POINT(channelGet, 9, "client channelGet->deserialize (end), just before channelGet->getDone() is called");
EXCEPTION_GUARD3(m_callback, cb, cb->getDone(status, external_from_this<ChannelGetImpl>(), m_structure, m_bitSet));
}
virtual void get() OVERRIDE FINAL {
MB_INC_AUTO_ID(channelGet);
MB_POINT(channelGet, 0, "client channelGet->get()");
ChannelGet::shared_pointer thisPtr(external_from_this<ChannelGetImpl>());
{
@@ -756,11 +739,6 @@ public:
PVACCESS_REFCOUNT_MONITOR_DEFINE(channelPut);
class ChannelPutImpl :
public BaseRequestImpl,
public ChannelPut
@@ -782,7 +760,6 @@ public:
m_callback(requester),
m_pvRequest(pvRequest)
{
PVACCESS_REFCOUNT_MONITOR_CONSTRUCT(channelPut);
}
virtual void activate() OVERRIDE FINAL
@@ -808,7 +785,6 @@ public:
virtual ~ChannelPutImpl()
{
PVACCESS_REFCOUNT_MONITOR_DESTRUCT(channelPut);
}
ChannelBaseRequester::shared_pointer getRequester() OVERRIDE FINAL { return m_callback.lock(); }
@@ -1003,8 +979,6 @@ public:
PVACCESS_REFCOUNT_MONITOR_DEFINE(channelPutGet);
class ChannelPutGetImpl :
public BaseRequestImpl,
public ChannelPutGet
@@ -1031,7 +1005,6 @@ public:
m_callback(requester),
m_pvRequest(pvRequest)
{
PVACCESS_REFCOUNT_MONITOR_CONSTRUCT(channelPutGet);
}
virtual void activate() OVERRIDE FINAL
@@ -1055,7 +1028,6 @@ public:
virtual ~ChannelPutGetImpl()
{
PVACCESS_REFCOUNT_MONITOR_DESTRUCT(channelPutGet);
}
ChannelBaseRequester::shared_pointer getRequester() OVERRIDE FINAL { return m_callback.lock(); }
@@ -1319,8 +1291,6 @@ public:
PVACCESS_REFCOUNT_MONITOR_DEFINE(channelRPC);
class ChannelRPCImpl :
public BaseRequestImpl,
public ChannelRPC
@@ -1341,7 +1311,6 @@ public:
m_callback(requester),
m_pvRequest(pvRequest)
{
PVACCESS_REFCOUNT_MONITOR_CONSTRUCT(channelRPC);
}
virtual void activate() OVERRIDE FINAL
@@ -1365,7 +1334,6 @@ public:
virtual ~ChannelRPCImpl()
{
PVACCESS_REFCOUNT_MONITOR_DESTRUCT(channelRPC);
}
ChannelBaseRequester::shared_pointer getRequester() OVERRIDE FINAL { return m_callback.lock(); }
@@ -1503,8 +1471,6 @@ public:
PVACCESS_REFCOUNT_MONITOR_DEFINE(channelArray);
class ChannelArrayImpl :
public BaseRequestImpl,
public ChannelArray
@@ -1534,7 +1500,6 @@ public:
m_offset(0), m_count(0),
m_length(0)
{
PVACCESS_REFCOUNT_MONITOR_CONSTRUCT(channelArray);
}
virtual void activate() OVERRIDE FINAL
@@ -1558,7 +1523,6 @@ public:
virtual ~ChannelArrayImpl()
{
PVACCESS_REFCOUNT_MONITOR_DESTRUCT(channelArray);
}
ChannelBaseRequester::shared_pointer getRequester() OVERRIDE FINAL { return m_callback.lock(); }
@@ -2154,7 +2118,6 @@ public:
PVACCESS_REFCOUNT_MONITOR_DEFINE(channelMonitor);
class ChannelMonitorImpl :
public BaseRequestImpl,
@@ -2185,7 +2148,6 @@ public:
m_pipeline(false),
m_ackAny(0)
{
PVACCESS_REFCOUNT_MONITOR_CONSTRUCT(channelMonitor);
}
virtual void activate() OVERRIDE FINAL
@@ -2267,7 +2229,6 @@ public:
virtual ~ChannelMonitorImpl()
{
PVACCESS_REFCOUNT_MONITOR_DESTRUCT(channelMonitor);
}
ChannelBaseRequester::shared_pointer getRequester() OVERRIDE FINAL { return m_callback.lock(); }
@@ -3054,8 +3015,6 @@ public:
PVACCESS_REFCOUNT_MONITOR_DEFINE(channel);
/**
* Context state enum.
@@ -3080,8 +3039,6 @@ enum ContextState {
PVACCESS_REFCOUNT_MONITOR_DEFINE(remoteClientContext);
class InternalClientContextImpl :
public ClientContextImpl,
public ChannelProvider
@@ -3300,7 +3257,6 @@ private:
m_issueCreateMessage(true)
{
REFTRACE_INCREMENT(num_instances);
PVACCESS_REFCOUNT_MONITOR_CONSTRUCT(channel);
}
void activate()
@@ -3335,8 +3291,6 @@ private:
virtual ~InternalChannelImpl()
{
REFTRACE_DECREMENT(num_instances);
PVACCESS_REFCOUNT_MONITOR_DESTRUCT(channel);
}
virtual void destroy() OVERRIDE FINAL
@@ -4083,8 +4037,6 @@ public:
{
REFTRACE_INCREMENT(num_instances);
PVACCESS_REFCOUNT_MONITOR_CONSTRUCT(remoteClientContext);
MB_INIT;
if(!m_configuration) m_configuration = ConfigurationFactory::getConfiguration("pvAccess-client");
m_flushTransports.reserve(64);
loadConfiguration();
@@ -4183,7 +4135,6 @@ public:
virtual ~InternalClientContextImpl()
{
REFTRACE_DECREMENT(num_instances);
PVACCESS_REFCOUNT_MONITOR_DESTRUCT(remoteClientContext);
}
const weak_pointer m_external_this, m_internal_this;
@@ -4755,8 +4706,6 @@ size_t InternalClientContextImpl::num_instances;
size_t InternalClientContextImpl::InternalChannelImpl::num_instances;
size_t InternalClientContextImpl::InternalChannelImpl::num_active;
PVACCESS_REFCOUNT_MONITOR_DEFINE(channelGetField);
class ChannelGetFieldRequestImpl :
public DataResponse,
public TransportSender,
@@ -4787,9 +4736,7 @@ public:
m_ioid(INVALID_IOID),
m_destroyed(false),
m_notified(false)
{
PVACCESS_REFCOUNT_MONITOR_CONSTRUCT(channelGetField);
}
{}
void activate()
{
@@ -4818,8 +4765,6 @@ public:
{
destroy();
notify(BaseRequestImpl::channelDestroyed, FieldConstPtr());
PVACCESS_REFCOUNT_MONITOR_DESTRUCT(channelGetField);
}
void notify(const Status& sts, const FieldConstPtr& field)

View File

@@ -104,8 +104,6 @@ void ServerBadResponse::handleResponse(osiSockAddr* responseFrom,
ServerResponseHandler::ServerResponseHandler(ServerContextImpl::shared_pointer const & context)
{
MB_INIT;
ResponseHandler::shared_pointer badResponse(new ServerBadResponse(context));
m_handlerTable.resize(CMD_CANCEL_REQUEST+1);
@@ -1026,9 +1024,6 @@ void ServerGetHandler::handleResponse(osiSockAddr* responseFrom,
}
else
{
MB_INC_AUTO_ID(channelGet);
MB_POINT(channelGet, 3, "server channelGet->deserialize request (start)");
const bool lastRequest = (QOS_DESTROY & qosCode) != 0;
ServerChannelGetRequesterImpl::shared_pointer request = static_pointer_cast<ServerChannelGetRequesterImpl>(channel->getRequest(ioid));
@@ -1054,8 +1049,6 @@ void ServerGetHandler::handleResponse(osiSockAddr* responseFrom,
return;
}
MB_POINT(channelGet, 4, "server channelGet->deserialize request (end)");
ChannelGet::shared_pointer channelGet = request->getChannelGet();
if (lastRequest)
channelGet->lastRequest();
@@ -1145,7 +1138,6 @@ void ServerChannelGetRequesterImpl::channelGetConnect(const Status& status, Chan
void ServerChannelGetRequesterImpl::getDone(const Status& status, ChannelGet::shared_pointer const & /*channelGet*/,
PVStructure::shared_pointer const & pvStructure, BitSet::shared_pointer const & bitSet)
{
MB_POINT(channelGet, 5, "server channelGet->getDone()");
{
Lock guard(_mutex);
_status = status;
@@ -1228,14 +1220,10 @@ void ServerChannelGetRequesterImpl::send(ByteBuffer* buffer, TransportSendContro
}
else
{
MB_POINT(channelGet, 6, "server channelGet->serialize response (start)");
{
ScopedLock lock(channelGet);
ScopedLock lock(channelGet);
_bitSet->serialize(buffer, control);
_pvStructure->serialize(buffer, control, _bitSet.get());
}
MB_POINT(channelGet, 7, "server channelGet->serialize response (end)");
_bitSet->serialize(buffer, control);
_pvStructure->serialize(buffer, control, _bitSet.get());
}
}

View File

@@ -557,8 +557,6 @@ class ChannelProcessRequesterImpl : public ChannelProcessRequester
};
PVACCESS_REFCOUNT_MONITOR_DEFINE(mockChannelProcess);
class MockChannelProcess :
public ChannelProcess,
public std::tr1::enable_shared_from_this<MockChannelProcess>
@@ -576,8 +574,6 @@ protected:
PVStructure::shared_pointer const & pvStructure, PVStructure::shared_pointer const & /*pvRequest*/) :
m_channel(channel), m_channelProcessRequester(channelProcessRequester), m_pvStructure(pvStructure)
{
PVACCESS_REFCOUNT_MONITOR_CONSTRUCT(mockChannelProcess);
PVFieldPtr ts = pvStructure->getSubField("timeStamp");
if (ts) m_timeStamp.attach(ts);
@@ -623,7 +619,6 @@ public:
virtual ~MockChannelProcess()
{
PVACCESS_REFCOUNT_MONITOR_DESTRUCT(mockChannelProcess);
}
@@ -803,7 +798,6 @@ static ChannelProcess::shared_pointer getChannelProcess(
PVACCESS_REFCOUNT_MONITOR_DEFINE(mockChannelGet);
class MockChannelGet :
public ChannelGet,
@@ -832,8 +826,6 @@ protected:
m_bitSet(new BitSet(m_pvStructure->getNumberFields())),
m_channelProcess(getChannelProcess(channel, pvRequest))
{
PVACCESS_REFCOUNT_MONITOR_CONSTRUCT(mockChannelGet);
PVScalar::shared_pointer pvScalar = pvRequest->getSubField<PVScalar>("record._options.alwaysSendAll");
if (pvScalar)
m_alwaysSendAll = pvScalar->getAs<epics::pvData::boolean>();
@@ -864,7 +856,6 @@ public:
virtual ~MockChannelGet()
{
PVACCESS_REFCOUNT_MONITOR_DESTRUCT(mockChannelGet);
}
virtual void get()
@@ -941,8 +932,6 @@ public:
PVACCESS_REFCOUNT_MONITOR_DEFINE(mockChannelPut);
class MockChannelPut :
public ChannelPut,
public std::tr1::enable_shared_from_this<MockChannelPut>
@@ -966,8 +955,7 @@ protected:
m_bitSet(new BitSet(m_pvStructure->getNumberFields())),
m_channelProcess(getChannelProcess(channel, pvRequest))
{
PVACCESS_REFCOUNT_MONITOR_CONSTRUCT(mockChannelPut);
m_bitSet->set(0); // TODO
m_bitSet->set(0);
}
public:
@@ -989,7 +977,6 @@ public:
virtual ~MockChannelPut()
{
PVACCESS_REFCOUNT_MONITOR_DESTRUCT(mockChannelPut);
}
@@ -1058,8 +1045,6 @@ public:
PVACCESS_REFCOUNT_MONITOR_DEFINE(mockChannelPutGet);
class MockChannelPutGet :
public ChannelPutGet,
public std::tr1::enable_shared_from_this<ChannelPutGet>
@@ -1088,8 +1073,6 @@ protected:
m_channelProcess(getChannelProcess(channel, pvRequest))
{
PVACCESS_REFCOUNT_MONITOR_CONSTRUCT(mockChannelPutGet);
// always all
m_getBitSet->set(0);
}
@@ -1112,7 +1095,6 @@ public:
virtual ~MockChannelPutGet()
{
PVACCESS_REFCOUNT_MONITOR_DESTRUCT(mockChannelPutGet);
}
virtual void putGet(PVStructure::shared_pointer const & pvPutStructure, BitSet::shared_pointer const & putBitSet)
@@ -1223,8 +1205,6 @@ static bool handleHelp(
}
PVACCESS_REFCOUNT_MONITOR_DEFINE(mockChannelRPC);
class MockChannelRPC :
public ChannelRPC,
public std::tr1::enable_shared_from_this<ChannelRPC>
@@ -1241,7 +1221,6 @@ protected:
PVStructure::shared_pointer const & /*pvRequest*/) :
m_channelRPCRequester(channelRPCRequester), m_channel(channel), m_pvStructure(pvStructure)
{
PVACCESS_REFCOUNT_MONITOR_CONSTRUCT(mockChannelRPC);
}
public:
@@ -1257,7 +1236,6 @@ public:
virtual ~MockChannelRPC()
{
PVACCESS_REFCOUNT_MONITOR_DESTRUCT(mockChannelRPC);
}
virtual void request(epics::pvData::PVStructure::shared_pointer const & pvArgument)
@@ -1610,8 +1588,6 @@ public:
PVACCESS_REFCOUNT_MONITOR_DEFINE(mockChannelArray);
class MockChannelArray :
public ChannelArray,
public std::tr1::enable_shared_from_this<ChannelArray>
@@ -1629,8 +1605,6 @@ protected:
PVStructure::shared_pointer const & pvStructure, PVStructure::shared_pointer const & /*pvRequest*/) :
m_channel(channel), m_channelArrayRequester(channelArrayRequester)
{
PVACCESS_REFCOUNT_MONITOR_CONSTRUCT(mockChannelArray);
m_pvStructureArray = pvStructure->getSubField<PVArray>("value");
if (m_pvStructureArray.get())
m_pvArray = std::tr1::dynamic_pointer_cast<PVArray>(
@@ -1658,7 +1632,6 @@ public:
virtual ~MockChannelArray()
{
PVACCESS_REFCOUNT_MONITOR_DESTRUCT(mockChannelArray);
}
template<typename APVF>
@@ -1907,13 +1880,10 @@ public:
private:
std::string m_method;
}
#define TRACE_METHOD() TraceLog trace(CURRENT_FUNCTION);
};
PVACCESS_REFCOUNT_MONITOR_DEFINE(mockMonitor);
class MockMonitor :
public Monitor,
@@ -1946,8 +1916,6 @@ protected:
m_state(MM_STATE_FREE),
m_thisPtr(new MonitorElement(m_ccopy))
{
PVACCESS_REFCOUNT_MONITOR_CONSTRUCT(mockMonitor);
PVScalar::shared_pointer pvScalar = pvRequest->getSubField<PVScalar>("record._options.velocious");
if (pvScalar)
m_continuous = pvScalar->getAs<epics::pvData::boolean>();
@@ -1978,7 +1946,6 @@ public:
virtual ~MockMonitor()
{
PVACCESS_REFCOUNT_MONITOR_DESTRUCT(mockMonitor);
}
void copy()
@@ -1991,7 +1958,6 @@ public:
}
virtual Status start()
{
//TRACE_METHOD();
{
Lock xx(m_lock);
@@ -2016,7 +1982,6 @@ public:
virtual void structureChanged()
{
//TRACE_METHOD();
if (m_active.get())
{
@@ -2044,8 +2009,6 @@ public:
virtual MonitorElement::shared_pointer poll()
{
//TRACE_METHOD();
Lock xx(m_lock);
if (m_state != MM_STATE_FULL)
{
@@ -2060,8 +2023,6 @@ public:
virtual void release(MonitorElement::shared_pointer const & /*monitorElement*/)
{
//TRACE_METHOD();
Lock xx(m_lock);
if (m_state == MM_STATE_TAKEN)
{
@@ -2109,8 +2070,6 @@ public:
};
PVACCESS_REFCOUNT_MONITOR_DEFINE(mockChannel);
class MockChannel :
public Channel,
public std::tr1::enable_shared_from_this<MockChannel>
@@ -2136,8 +2095,6 @@ protected:
m_remoteAddress(remoteAddress),
m_pvStructure()
{
PVACCESS_REFCOUNT_MONITOR_CONSTRUCT(mockChannel);
if (structureStore.find(m_name) != structureStore.end())
m_pvStructure = structureStore[m_name];
@@ -2376,9 +2333,7 @@ public:
}
virtual ~MockChannel()
{
PVACCESS_REFCOUNT_MONITOR_DESTRUCT(mockChannel);
}
{}
virtual void destroy()
{