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);
69 serializer.resetSer();
73 status = serializer.serializeFrom(context);
80 void GenericHub ::cmdRespIn_handler(
FwIndexType portNum,
87 serializer.resetSer();
89 status = serializer.serializeFrom(opCode);
91 status = serializer.serializeFrom(cmdSeq);
93 status = serializer.serializeFrom(response);
113 status = incoming.deserializeTo(type_in);
121 type =
static_cast<HubType>(type_in);
122 status = incoming.deserializeTo(port);
126 status = incoming.deserializeTo(size);
137 status = wrapper.setBuffLen(rawSize);
140 if (port < this->getNum_serialOut_OutputPorts() &&
141 this->isConnected_serialOut_OutputPort(static_cast<FwIndexType>(port))) {
142 serialOut_out(static_cast<FwIndexType>(port), wrapper);
145 fromBufferDriverReturn_out(0, fwBuffer);
150 if (port < this->getNum_bufferOut_OutputPorts() &&
151 this->isConnected_bufferOut_OutputPort(static_cast<FwIndexType>(port))) {
152 bufferOut_out(static_cast<FwIndexType>(port), fwBuffer);
155 fromBufferDriverReturn_out(0, fwBuffer);
166 status = incoming.deserializeTo(timeTag);
169 status = incoming.deserializeTo(severity);
172 status = incoming.deserializeTo(args);
177 this->isConnected_eventOut_OutputPort(static_cast<FwIndexType>(port))) {
178 this->eventOut_out(static_cast<FwIndexType>(port),
id, timeTag, severity, args);
181 fromBufferDriverReturn_out(0, fwBuffer);
190 status = incoming.deserializeTo(timeTag);
193 status = incoming.deserializeTo(val);
196 this->isConnected_tlmOut_OutputPort(static_cast<FwIndexType>(port))) {
198 this->tlmOut_out(static_cast<FwIndexType>(port),
id, timeTag, val);
202 fromBufferDriverReturn_out(0, fwBuffer);
214 status = wrapper.setBuffLen(rawSize -
sizeof(U32));
217 status = incoming.deserializeSkip(rawSize -
sizeof(U32));
219 status = incoming.deserializeTo(context);
222 this->isConnected_cmdDispOut_OutputPort(static_cast<FwIndexType>(port))) {
223 this->cmdDispOut_out(static_cast<FwIndexType>(port), wrapper, context);
227 fromBufferDriverReturn_out(0, fwBuffer);
234 status = incoming.deserializeTo(opCode);
236 status = incoming.deserializeTo(cmdSeq);
239 status = incoming.deserializeTo(response);
243 this->isConnected_cmdRespOut_OutputPort(static_cast<FwIndexType>(port))) {
244 this->cmdRespOut_out(static_cast<FwIndexType>(port), opCode, cmdSeq, response);
247 fromBufferDriverReturn_out(0, fwBuffer);
251 fromBufferDriverReturn_out(0, fwBuffer);
257 deallocate_out(portNum, fwBuffer);
260 void GenericHub::eventIn_handler(
const FwIndexType portNum,
269 serializer.resetSer();
270 status = serializer.serializeFrom(
id);
272 status = serializer.serializeFrom(timeTag);
274 status = serializer.serializeFrom(severity);
276 status = serializer.serializeFrom(args);
279 this->send_data(HubType::HUB_TYPE_EVENT, portNum, buffer, size);
286 serializer.resetSer();
287 status = serializer.serializeFrom(
id);
289 status = serializer.serializeFrom(timeTag);
291 status = serializer.serializeFrom(val);
294 this->send_data(HubType::HUB_TYPE_CHANNEL, portNum, buffer, size);
301 void GenericHub::serialIn_handler(
FwIndexType portNum,
Serialization/Deserialization operation was successful.
FwIdType FwOpcodeType
The type of a command opcode.
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.
SerializeStatus deserializeTo(U8 &val, Endianness mode=Endianness::BIG) override
Deserialize an 8-bit unsigned integer value.
FwSizeStoreType FwBuffSizeType
Enum representing a command response.
SerializeStatus serializeFrom(U8 val, Endianness mode=Endianness::BIG) override
Serialize an 8-bit unsigned integer value.
SerializeStatus
forward declaration for string
The size of the serial representation.
ExternalSerializeBufferWithMemberCopy getDeserializer()
FwIdType FwEventIdType
The type of an event identifier.
Buffer type transmission.
U8 * getBuffAddr()
Get buffer address for data filling (non-const version)
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.
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.
GenericHub(const char *const compName)
ExternalSerializeBufferWithMemberCopy getSerializer()
#define FW_PORT_SERIALIZATION
calls for multi-note systems)