Packet::Packet(int ingress_port, packet_id_t id, packet_id_t copy_id, int ingress_length, PacketBuffer &&buffer) : ingress_port(ingress_port), packet_id(id), copy_id(copy_id), ingress_length(ingress_length), buffer(std::move(buffer)) { assert(phv_pool); update_signature(); set_ingress_ts(); phv = phv_pool->get(); }
Packet::Packet(size_t cxt_id, int ingress_port, packet_id_t id, copy_id_t copy_id, int ingress_length, PacketBuffer &&buffer, PHVSourceIface *phv_source) : cxt_id(cxt_id), ingress_port(ingress_port), packet_id(id), copy_id(copy_id), ingress_length(ingress_length), buffer(std::move(buffer)), phv_source(phv_source) { assert(phv_source); update_signature(); set_ingress_ts(); phv = phv_source->get(cxt_id); phv->set_packet_id(packet_id, copy_id); DEBUGGER_PACKET_IN(PacketId::make(packet_id, copy_id), ingress_port); }