Skip to content

Commit

Permalink
save stuff
Browse files Browse the repository at this point in the history
  • Loading branch information
ImUrX committed Jan 18, 2023
1 parent d81786f commit b489590
Showing 1 changed file with 20 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ public void onTopicMessage(GenericConnection c, PubSubHeader messageHeader) {
int outbound = createMessage(
fbb,
PubSubUnion.Message,
Message.createMessage(fbb, message)
createMessageMessageOffset(fbb, message)
);
fbb.finish(outbound);
conn.send(fbb.dataBuffer());
Expand All @@ -171,25 +171,36 @@ public void onTopicMessage(GenericConnection c, PubSubHeader messageHeader) {

private int createMessageMessageOffset(FlatBufferBuilder fbb, Message msg) {
int topicOffset = switch(msg.getTopicType()) {
case Topic.TopicHandle -> TopicHandle.createTopicHandle(fbb, ((TopicHandle) msg.topic(new TopicHandle())).getId());
case Topic.TopicId -> createTopicIdOffset(fbb, (TopicId) msg.topic(new TopicId()));
case Topic.TopicHandle -> TopicHandle.createTopicHandle(
fbb, ((TopicHandle) msg.topic(new TopicHandle())).getId()
);
case Topic.TopicId -> createTopicIdOffset(
fbb, (TopicId) msg.topic(new TopicId())
);
default -> throw new RuntimeException("Unknown message type");
};
int payloadOffset = switch(msg.getPayloadType()) {
case Payload.solarxrProtocolDatatypesStringTable -> StringTable.createStringTable(fbb, fbb.createString(((StringTable) msg.payload(new StringTable())).getSAsByteBuffer()));
case Payload.solarxrProtocolDatatypesBytes -> Bytes.createBytes(fbb, fbb.createByteVector(((Bytes) msg.payload(new Bytes())).getBAsByteBuffer()));
case Payload.solarxrProtocolDatatypesStringTable ->
StringTable.createStringTable(
fbb,
fbb.createString(((StringTable) msg.payload(new StringTable())).getSAsByteBuffer())
);
case Payload.solarxrProtocolDatatypesBytes ->
Bytes.createBytes(
fbb,
fbb.createByteVector(((Bytes) msg.payload(new Bytes())).getBAsByteBuffer())
);
case Payload.KeyValues -> {
KeyValues keyValues = (KeyValues) msg.payload(new KeyValues());
fbb.
KeyValues.createKeyValues(fbb, keyValues.getByteBuffer())
keyValues.getByteBuffer()
}
}
};
return Message.createMessage(
fbb,
msg.getTopicType(),
topicOffset,
msg.getPayloadType(),

payloadOffset
);
}

Expand Down

0 comments on commit b489590

Please sign in to comment.