Siena Fast Forwarding
Documentation (v. 1.13.0)
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
siena
bxtable.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
//
11
// Siena is free software: you can redistribute it and/or modify
12
// it under the terms of the GNU General Public License as published by
13
// the Free Software Foundation, either version 3 of the License, or
14
// (at your option) any later version.
15
//
16
// Siena is distributed in the hope that it will be useful,
17
// but WITHOUT ANY WARRANTY; without even the implied warranty of
18
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
// GNU General Public License for more details.
20
//
21
// You should have received a copy of the GNU General Public License
22
// along with Siena. If not, see <http://www.gnu.org/licenses/>.
23
//
24
#ifndef SIENA_BXTABLE_H
25
#define SIENA_BXTABLE_H
26
27
#include <cstddef>
28
29
#include <
siena/forwarding.h
>
30
#include <siena/allocator.h>
31
32
namespace
siena {
33
34
class
BXPredicate;
35
47
class
BXTable
:
public
ForwardingTable
{
48
public
:
49
BXTable
();
50
51
virtual
~
BXTable
();
52
53
virtual
void
ifconfig
(
if_t
,
const
predicate
&);
54
virtual
void
consolidate
();
55
56
virtual
void
match
(
const
message
&,
MatchHandler
&)
const
;
57
virtual
void
match
(
const
message
&,
MatchMessageHandler
&)
const
;
58
59
virtual
void
clear
();
60
virtual
void
clear_recycle
();
61
62
virtual
size_t
allocated_bytesize
()
const
;
63
virtual
size_t
bytesize
()
const
;
64
65
protected
:
71
FTAllocator
memory
;
72
77
BXPredicate *
plist
;
78
};
79
80
}
// end namespace siena
81
82
#endif