Hybrid ICN (hICN) plugin
v21.06-rc0-4-g18fa668
hicn-light
src
hicn
processor
pit.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 pit_h
25
#define pit_h
26
27
#include <hicn/core/forwarder.h>
28
#include <
hicn/core/message.h
>
29
#include <hicn/core/numberSet.h>
30
#include <
hicn/processor/pitEntry.h
>
31
#include <
hicn/processor/pitVerdict.h
>
32
33
struct
pit
;
34
typedef
struct
pit
PIT
;
35
36
struct
pit
{
37
void (*release)(
PIT
**pitPtr);
38
PITVerdict (*receiveInterest)(
PIT
*
pit
, Message *interestMessage);
39
NumberSet *(*satisfyInterest)(
PIT
*
pit
,
const
Message *objectMessage);
40
void (*removeInterest)(
PIT
*
pit
,
const
Message *interestMessage);
41
PitEntry *(*getPitEntry)(
const
PIT
*
pit
,
const
Message *interestMessage);
42
void
*closure;
43
};
44
45
void
*pit_Closure(
const
PIT
*
pit
);
46
55
void
pit_Release
(
PIT
**pitPtr);
56
73
PITVerdict
pit_ReceiveInterest
(
PIT
*
pit
, Message *interestMessage);
74
88
NumberSet *
pit_SatisfyInterest
(
PIT
*
pit
,
const
Message *objectMessage);
89
102
void
pit_RemoveInterest
(
PIT
*
pit
,
const
Message *interestMessage);
103
113
PitEntry *
pit_GetPitEntry
(
const
PIT
*
pit
,
const
Message *interestMessage);
114
#endif // pit_h
pit
Definition:
pit.h:36
pit_ReceiveInterest
PITVerdict pit_ReceiveInterest(PIT *pit, Message *interestMessage)
pitVerdict.h
Adding an entry to the PIT will return NEW or EXISTING.
message.h
Message is the unit of forwarding, i.e. the packets being switched.
pit_Release
void pit_Release(PIT **pitPtr)
pit_RemoveInterest
void pit_RemoveInterest(PIT *pit, const Message *interestMessage)
pitEntry.h
The embodiment of a PIT entry.
pit_GetPitEntry
PitEntry * pit_GetPitEntry(const PIT *pit, const Message *interestMessage)
pit_SatisfyInterest
NumberSet * pit_SatisfyInterest(PIT *pit, const Message *objectMessage)
Generated by
1.8.17