From 4e53da07c8b058f93754f47da5c13f6a2bf4d7f9 Mon Sep 17 00:00:00 2001 From: Matej Sekoranja Date: Mon, 17 Nov 2014 12:14:52 +0100 Subject: [PATCH] int16 beaconSeqId -> int8 flags + int8 beaconSeqId --- src/remoteClient/clientContextImpl.cpp | 3 ++- src/server/beaconEmitter.cpp | 10 +++++++--- src/server/beaconEmitter.h | 2 +- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/remoteClient/clientContextImpl.cpp b/src/remoteClient/clientContextImpl.cpp index ff5dd92..7e8b18a 100644 --- a/src/remoteClient/clientContextImpl.cpp +++ b/src/remoteClient/clientContextImpl.cpp @@ -2877,7 +2877,8 @@ namespace epics { GUID guid; payloadBuffer->get(guid.value, 0, sizeof(guid.value)); - int16 sequentalID = payloadBuffer->getShort(); + /*int8 qosCode =*/ payloadBuffer->getByte(); + int8 sequentalID = payloadBuffer->getByte(); int16 changeCount = payloadBuffer->getShort(); osiSockAddr serverAddress; diff --git a/src/server/beaconEmitter.cpp b/src/server/beaconEmitter.cpp index 2cfef19..241165c 100644 --- a/src/server/beaconEmitter.cpp +++ b/src/server/beaconEmitter.cpp @@ -78,8 +78,12 @@ void BeaconEmitter::send(ByteBuffer* buffer, TransportSendControl* control) control->startMessage((int8)0, 12+2+2+16+2); buffer->put(_guid.value, 0, sizeof(_guid.value)); - buffer->putShort(_beaconSequenceID); - + + // TODO qos/flags (e.g. multicast/unicast) + buffer->putByte(0); + + buffer->putByte(_beaconSequenceID); + // TODO for now fixed changeCount buffer->putShort(0); @@ -124,7 +128,7 @@ void BeaconEmitter::start() void BeaconEmitter::reschedule() { - const double period = (_beaconSequenceID >= _beaconCountLimit) ? _slowBeaconPeriod : _fastBeaconPeriod; + const double period = (_beaconSequenceID >= _beaconCountLimit) ? _slowBeaconPeriod : _fastBeaconPeriod; if (period > 0) { _timer->scheduleAfterDelay(shared_from_this(), period); diff --git a/src/server/beaconEmitter.h b/src/server/beaconEmitter.h index 0c62c65..c306a61 100644 --- a/src/server/beaconEmitter.h +++ b/src/server/beaconEmitter.h @@ -107,7 +107,7 @@ namespace epics { namespace pvAccess { /** * Beacon sequence ID. */ - epics::pvData::int16 _beaconSequenceID; + epics::pvData::int8 _beaconSequenceID; /** * Server GUID.