blob: 09ad3331c18ba5fe3ec9ff8c00b05c990ee21e57 [file] [log] [blame]
James Kuszmaul1ec74432020-07-30 20:26:45 -07001#include "absl/types/span.h"
Alex Perry5f474f22020-02-01 12:14:24 -08002#include "aos/network/web_proxy_generated.h"
3#include "aos/events/event_loop.h"
James Kuszmaul1ec74432020-07-30 20:26:45 -07004#include "aos/flatbuffers.h"
Alex Perry5f474f22020-02-01 12:14:24 -08005
6namespace aos {
7namespace web_proxy {
8
9int GetPacketCount(const Context &context);
10
11/*
12 * Packs a message embedded in context into a MessageHeader on fbb. Handles
13 * multipart messages by use of the packet_index.
14 * TODO(alex): make this an iterator that returns each packet sequentially
15 */
16flatbuffers::Offset<MessageHeader> PackMessage(
17 flatbuffers::FlatBufferBuilder *fbb, const Context &context,
18 int channel_index, int packet_index);
19
James Kuszmaul1ec74432020-07-30 20:26:45 -070020// Packs the provided raw data into a series of MessageHeader's of the
21// appropriate length.
22std::vector<FlatbufferDetachedBuffer<MessageHeader>> PackBuffer(
23 absl::Span<const uint8_t> span);
Alex Perry5f474f22020-02-01 12:14:24 -080024
25} // namespace web_proxy
26} // namespace aos