void EIBNetIPTunnel::send_L_Data (LDataPtr l) { assert(out.size() == 0); out = L_Data_ToCEMI (0x11, l); trigger.send(); }
void EIBNetIPRouter::send_L_Data (LDataPtr l) { EIBNetIPPacket p; p.data = L_Data_ToCEMI (0x29, l); p.service = ROUTING_INDICATION; sock->Send (p); send_Next(); }
void ConnState::send_L_Data (LDataPtr l) { if (type == CT_STANDARD) { assert (!do_send_next); do_send_next = true; out.put (L_Data_ToCEMI (0x29, l)); if (! retries) send_trigger.send(); } }
void EIBnetDriver::send_L_Data (LDataPtr l) { EIBnetServer &parent = *std::static_pointer_cast<EIBnetServer>(server); if (parent.route) { EIBNetIPPacket p; p.service = ROUTING_INDICATION; p.data = L_Data_ToCEMI (0x29, l); parent.Send (p); } send_Next(); }
void EIBNetIPRouter::Send_L_Data (LPDU * l) { TRACEPRINTF (t, 2, this, "Send %s", l->Decode ()()); if (l->getType () != L_Data) { delete l; return; } L_Data_PDU *l1 = (L_Data_PDU *) l; EIBNetIPPacket p; p.data = L_Data_ToCEMI (0x29, *l1); p.service = ROUTING_INDICATION; sock->Send (p); if (mode == BUSMODE_VMONITOR) { L_Busmonitor_PDU *l2 = new L_Busmonitor_PDU (this); l2->pdu.set (l->ToPacket ()); l3->recv_L_Data (l2); } delete l; }
void EIBNetIPTunnel::Send_L_Data (LPDU * l) { TRACEPRINTF (t, 2, this, "Send %s", l->Decode ()()); if (l->getType () != L_Data) { delete l; return; } L_Data_PDU *l1 = (L_Data_PDU *) l; inqueue.put (L_Data_ToCEMI (0x11, *l1)); pth_sem_inc (&insignal, 1); if (vmode) { L_Busmonitor_PDU *l2 = new L_Busmonitor_PDU; l2->pdu.set (l->ToPacket ()); outqueue.put (l2); pth_sem_inc (&outsignal, 1); } outqueue.put (l); pth_sem_inc (&outsignal, 1); }