15 assert(adpt != NULL && sockets != NULL);
23 bool processed_any =
false;
25 IVlcbNetAdpt *adpt = iface->
adpt;
56 bool emitted_any =
false;
66 const bool emitted_packet =
69 emitted_any |= emitted_packet;
86 assert(iface != NULL && iface->
adpt != NULL );
88 bool readiness_may_have_changed =
false;
91 bool did_something =
false;
97 readiness_may_have_changed =
true;
104 .readiness_may_have_changed = readiness_may_have_changed,
110 assert(iface != NULL && sock != NULL);
vlcb_error vlcb_net_adpt_ErrToStr(VlcbNetAdptErr err)
@ VLCB_NET_ADPT_ERR_WOULD_BLOCK
bool vlcb_net_iface_BindSock(VlcbNetIface *const iface, VlcbNetSocketHandle sock)
bool IngressPackets(VlcbNetIface *const iface)
bool EgressPackets(VlcbNetIface *const iface)
VlcbNetIfacePollResult vlcb_net_iface_Poll(VlcbNetIface *const iface)
VlcbNetIface vlcb_net_iface_New(IVlcbNetAdpt *const adpt, VlcbNetSocketList *const sockets)
void ProcessCanPacket(VlcbNetIface *const iface, VlcbNetAdptPkt *pkt)
VlcbNetAdptErr DispatchVlcbPacket(VlcbNetIface *const iface, const VlcbNetAdptCaps caps, const VlcbNetPacket *const packet)
#define _INTERFACE_PTR_CALL(o, m,...)
#define VLCBLOG_ERROR(msg)
VlcbNetSocketDispatchErr DispatchPacket(const VlcbNetSocketDatagram *const self, VlcbNetPacket *const packet)
int vlcb_net_sock_list_Insert(VlcbNetSocketList *const list, VlcbNetSocketHandle sock)
bool vlcb_net_sock_list_iter_HasNext(VlcbNetSocketListIter *const iter)
VlcbNetSocketHandle vlcb_net_sock_list_iter_Next(VlcbNetSocketListIter *const iter)
VlcbNetSocketListIter vlcb_net_sock_list_GetIterator(const VlcbNetSocketList *const list)
IVlcbNetSocket * VlcbNetSocketHandle
VlcbNetSocketList *const sockets