Hybrid ICN (hICN) plugin  v21.06-rc0-4-g18fa668
pitEntry.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2017-2019 Cisco and/or its affiliates.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at:
6  *
7  * http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
24 #ifndef pitEntry_h
25 #define pitEntry_h
26 
27 #include <hicn/core/message.h>
28 #include <hicn/core/numberSet.h>
29 #include <hicn/core/ticks.h>
31 
32 struct pit_entry;
33 typedef struct pit_entry PitEntry;
34 
43 PitEntry *pitEntry_Create(Message *message, Ticks expiryTime,
44  Ticks CreationTime);
45 
60 void pitEntry_Release(PitEntry **pitEntryPtr);
61 
71 PitEntry *pitEntry_Acquire(PitEntry *original);
72 
85 void pitEntry_AddIngressId(PitEntry *pitEntry, unsigned ingressId);
86 
99 void pitEntry_AddEgressId(PitEntry *pitEntry, unsigned egressId);
100 
101 void pitEntry_AddFibEntry(PitEntry *pitEntry, FibEntry *fibEntry);
102 
103 FibEntry *pitEntry_GetFibEntry(PitEntry *pitEntry);
104 
114 const NumberSet *pitEntry_GetIngressSet(const PitEntry *pitEntry);
115 
126 const NumberSet *pitEntry_GetEgressSet(const PitEntry *pitEntry);
127 
136 Message *pitEntry_GetMessage(const PitEntry *pitEntry);
137 
149 Ticks pitEntry_GetExpiryTime(const PitEntry *pitEntry);
150 
151 Ticks pitEntry_GetCreationTime(const PitEntry *pitEntry);
162 void pitEntry_SetExpiryTime(PitEntry *pitEntry, Ticks expiryTime);
163 
164 #endif // pitEntry_h
pitEntry_Acquire
PitEntry * pitEntry_Acquire(PitEntry *original)
pitEntry_SetExpiryTime
void pitEntry_SetExpiryTime(PitEntry *pitEntry, Ticks expiryTime)
fibEntry.h
A forwarding entry in the FIB table.
pitEntry_Release
void pitEntry_Release(PitEntry **pitEntryPtr)
pitEntry_Create
PitEntry * pitEntry_Create(Message *message, Ticks expiryTime, Ticks CreationTime)
pitEntry_GetMessage
Message * pitEntry_GetMessage(const PitEntry *pitEntry)
pitEntry_AddIngressId
void pitEntry_AddIngressId(PitEntry *pitEntry, unsigned ingressId)
message.h
Message is the unit of forwarding, i.e. the packets being switched.
pitEntry_AddEgressId
void pitEntry_AddEgressId(PitEntry *pitEntry, unsigned egressId)
pitEntry_GetExpiryTime
Ticks pitEntry_GetExpiryTime(const PitEntry *pitEntry)
pitEntry_GetEgressSet
const NumberSet * pitEntry_GetEgressSet(const PitEntry *pitEntry)
pitEntry_GetIngressSet
const NumberSet * pitEntry_GetIngressSet(const PitEntry *pitEntry)