24 #include <hicn/hicn-light/config.h>
26 #include <hicn/core/messagePacketType.h>
27 #include <hicn/core/streamBuffer.h>
29 #include <hicn/core/name.h>
31 #include <parc/algol/parc_EventBuffer.h>
32 #include <parc/algol/parc_EventQueue.h>
34 #include <hicn/utils/address.h>
36 #include <hicn/core/ticks.h>
39 typedef struct message Message;
48 unsigned ingressConnectionId,
49 Ticks receiveTime, Logger *logger);
57 MessagePacketType type, Ticks receiveTime,
76 bool message_Write(PARCEventQueue *parcEventQueue,
const Message *message);
83 bool message_HasWldr(
const Message *message);
85 bool message_IsWldrNotification(
const Message *message);
87 void message_ResetWldrLabel(Message *message);
89 unsigned message_GetWldrLabel(
const Message *message);
91 unsigned message_GetWldrExpectedLabel(
const Message *message);
93 unsigned message_GetWldrLastReceived(
const Message *message);
95 void message_SetWldrLabel(Message *message, uint16_t label);
97 Message *message_CreateWldrNotification(Message *original, uint16_t expected,
98 uint16_t lastReceived);
104 void message_SetIngressConnectionId(Message *message,
unsigned conn);
116 uint32_t message_GetPathLabel(
const Message *message);
117 void message_SetPathLabel(Message *message, uint32_t label);
118 void message_UpdatePathLabel(Message *message, uint8_t outFace);
119 void message_ResetPathLabel(Message *message);