Siena Fast Forwarding
Documentation (v. 1.13.0)
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
siena
btrietable.h
1
// -*- C++ -*-
2
//
3
// This file is part of Siena, a wide-area event notification system.
4
// See http://www.inf.usi.ch/carzaniga/siena/
5
//
6
// Authors: Antonio Carzaniga
7
// See the file AUTHORS for full details.
8
//
9
// Copyright (C) 2001-2003 University of Colorado
10
// Copyright (C) 2005 Antonio Carzaniga
11
//
12
// Siena is free software: you can redistribute it and/or modify
13
// it under the terms of the GNU General Public License as published by
14
// the Free Software Foundation, either version 3 of the License, or
15
// (at your option) any later version.
16
//
17
// Siena is distributed in the hope that it will be useful,
18
// but WITHOUT ANY WARRANTY; without even the implied warranty of
19
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
// GNU General Public License for more details.
21
//
22
// You should have received a copy of the GNU General Public License
23
// along with Siena. If not, see <http://www.gnu.org/licenses/>.
24
//
25
#ifndef SIENA_BTRIETABLE_H
26
#define SIENA_BTRIETABLE_H
27
28
#include <cstddef>
29
30
#include <
siena/forwarding.h
>
31
#include <siena/allocator.h>
32
33
namespace
siena {
34
35
class
BTriePredicate;
36
61
class
BTrieTable
:
public
ForwardingTable
{
62
public
:
63
BTrieTable
();
64
65
virtual
~
BTrieTable
();
66
67
virtual
void
ifconfig
(
if_t
,
const
predicate
&);
68
69
virtual
void
match
(
const
message
&,
MatchHandler
&)
const
;
70
virtual
void
match
(
const
message
&,
MatchMessageHandler
&)
const
;
71
72
virtual
void
clear
();
73
virtual
void
clear_recycle
();
74
75
virtual
size_t
allocated_bytesize
()
const
;
76
virtual
size_t
bytesize
()
const
;
77
78
protected
:
84
FTAllocator
memory
;
85
90
BTriePredicate *
plist
;
91
};
92
93
}
// end namespace siena
94
95
#endif