Thanks, I sent you the invitation. Is the library designed to operate on top of the regular Berkeley sockets or at the level of raw Ethernet frames? If it’s the latter, is the below model accurate? Do we envision scenarios where the library is used on an embedded platform without the full UDP stack?
Regardless of the layering underneath the library, do you consider it feasible to bring the API closer to the following (disregard the naming difference for now):
int8_t udpardServe(Udpard* const ins,
UdpardIface* const iface);
int32_t udpardTxPush(Udpard* const ins,
UdpardIface* const iface,
const UdpardMicrosecond tx_deadline_usec,
const UdpardTransferMetadata* const metadata,
const size_t payload_size,
const void* const payload);
int8_t udpardRxAccept(Udpard* const ins,
UdpardIface* const iface,
const UdpardMicrosecond timestamp_usec,
const UdpardFrame* const ethernet_frame,
UdpardRxTransfer* const out_transfer,
UdpardRxSubscription** const out_subscription);
I would like to have a call. Let’s coordinate on Matrix.
