40 status = serialize.serializeFrom(static_cast<U32>(port));
42 status = serialize.serializeFrom(data, static_cast<FwBuffSizeType>(size));
44 outgoing.
setSize(serialize.getSize());
45 toBufferDriver_out(0, outgoing);
54 bufferInReturn_out(portNum, fwBuffer);
59 fromBufferDriverReturn_out(0, fwBuffer);
68 serializer.resetSer();
72 status = serializer.serializeFrom(context);
79 void GenericHub ::cmdRespIn_handler(
FwIndexType portNum,
86 serializer.resetSer();
88 status = serializer.serializeFrom(opCode);
90 status = serializer.serializeFrom(cmdSeq);
92 status = serializer.serializeFrom(response);
112 status = incoming.deserializeTo(type_in);
120 type =
static_cast<HubType>(type_in);
121 status = incoming.deserializeTo(port);
125 status = incoming.deserializeTo(size);
136 status = wrapper.setBuffLen(rawSize);
139 if (port < this->getNum_serialOut_OutputPorts() &&
140 this->isConnected_serialOut_OutputPort(static_cast<FwIndexType>(port))) {
141 serialOut_out(static_cast<FwIndexType>(port), wrapper);
144 fromBufferDriverReturn_out(0, fwBuffer);
149 if (port < this->getNum_bufferOut_OutputPorts() &&
150 this->isConnected_bufferOut_OutputPort(static_cast<FwIndexType>(port))) {
151 bufferOut_out(static_cast<FwIndexType>(port), fwBuffer);
154 fromBufferDriverReturn_out(0, fwBuffer);
165 status = incoming.deserializeTo(timeTag);
168 status = incoming.deserializeTo(severity);
171 status = incoming.deserializeTo(args);
176 this->isConnected_eventOut_OutputPort(static_cast<FwIndexType>(port))) {
177 this->eventOut_out(static_cast<FwIndexType>(port),
id, timeTag, severity, args);
180 fromBufferDriverReturn_out(0, fwBuffer);
189 status = incoming.deserializeTo(timeTag);
192 status = incoming.deserializeTo(val);
195 this->isConnected_tlmOut_OutputPort(static_cast<FwIndexType>(port))) {
197 this->tlmOut_out(static_cast<FwIndexType>(port),
id, timeTag, val);
201 fromBufferDriverReturn_out(0, fwBuffer);
211 status = wrapper.setBuffLen(rawSize -
sizeof(U32));
214 status = incoming.deserializeSkip(rawSize -
sizeof(U32));
216 status = incoming.deserializeTo(context);
219 this->isConnected_cmdDispOut_OutputPort(static_cast<FwIndexType>(port))) {
220 this->cmdDispOut_out(static_cast<FwIndexType>(port), wrapper, context);
224 fromBufferDriverReturn_out(0, fwBuffer);
231 status = incoming.deserializeTo(opCode);
233 status = incoming.deserializeTo(cmdSeq);
236 status = incoming.deserializeTo(response);
240 this->isConnected_cmdRespOut_OutputPort(static_cast<FwIndexType>(port))) {
241 this->cmdRespOut_out(static_cast<FwIndexType>(port), opCode, cmdSeq, response);
244 fromBufferDriverReturn_out(0, fwBuffer);
248 fromBufferDriverReturn_out(0, fwBuffer);
254 deallocate_out(portNum, fwBuffer);
257 void GenericHub::eventIn_handler(
const FwIndexType portNum,
266 serializer.resetSer();
267 status = serializer.serializeFrom(
id);
269 status = serializer.serializeFrom(timeTag);
271 status = serializer.serializeFrom(severity);
273 status = serializer.serializeFrom(args);
276 this->send_data(HubType::HUB_TYPE_EVENT, portNum, buffer, size);
283 serializer.resetSer();
284 status = serializer.serializeFrom(
id);
286 status = serializer.serializeFrom(timeTag);
288 status = serializer.serializeFrom(val);
291 this->send_data(HubType::HUB_TYPE_CHANNEL, portNum, buffer, size);
298 void GenericHub::serialIn_handler(
FwIndexType portNum,
Serialization/Deserialization operation was successful.
FwIdType FwOpcodeType
The type of a command opcode.
SerializeStatus serializeFrom(U8 val, Endianness mode=Endianness::BIG) override
Serialize an 8-bit unsigned integer value.
void set(U8 *data, FwSizeType size, U32 context=NO_CONTEXT)
PlatformSizeType FwSizeType
void setSize(FwSizeType size)
Serializable::SizeType getSize() const override
Get current buffer size.
The size of the serial representation.
virtual U8 * getBuffAddr()=0
Get buffer address for data filling (non-const version)
FwSizeStoreType FwBuffSizeType
Enum representing a command response.
SerializeStatus
forward declaration for string
ExternalSerializeBufferWithMemberCopy getDeserializer()
FwIdType FwEventIdType
The type of an event identifier.
Buffer type transmission.
Omit length from serialization.
Data was left in the buffer, but not enough to deserialize.
External serialize buffer with no copy semantics.
FwIdType FwChanIdType
The type of a telemetry channel identifier.
U8 * getBuffAddr()
Get buffer address for data filling (non-const version)
Enum representing event severity.
uint8_t U8
8-bit unsigned integer
FwSizeType getSize() const
The size of the serial representation.
PlatformIndexType FwIndexType
RateGroupDivider component implementation.
SerializeStatus deserializeTo(U8 &val, Endianness mode=Endianness::BIG) override
Deserialize an 8-bit unsigned integer value.
GenericHub(const char *const compName)
ExternalSerializeBufferWithMemberCopy getSerializer()
#define FW_PORT_SERIALIZATION
calls for multi-note systems)