43 Indication(vanetza::ByteBuffer);
48 Technology technology = Technology::Unspecified;
54 std::uint32_t version = 0;
58 using IndicationCallback = std::function<void(
Indication)>;
61 LinkLayerClient(kj::Timer&, kj::AsyncIoStream&,
Logger* =
nullptr);
64 kj::Promise<Identity> identify();
66 void indicate(IndicationCallback callback);
67 void report_channel_load(ChannelLoadReportCallback callback);
68 kj::Promise<ErrorCode> set_source_address(
const MacAddress&);
70 void configure(Technology);
71 void add_task(kj::Promise<void>&&);
79 std::unique_ptr<Context> context_;
80 std::mutex callback_mutex_;
81 IndicationCallback indication_callback_;
82 ChannelLoadReportCallback cbr_callback_;
83 Technology technology_ = Technology::Unspecified;