4 // Fraunhofer Institute for Open Communication Systems (FOKUS)
5 // Competence Center NETwork research (NET), St. Augustin, GERMANY
6 // Stefan Bund <g0dil@berlios.de>
8 // This program is free software; you can redistribute it and/or modify
9 // it under the terms of the GNU General Public License as published by
10 // the Free Software Foundation; either version 2 of the License, or
11 // (at your option) any later version.
13 // This program is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 // GNU General Public License for more details.
18 // You should have received a copy of the GNU General Public License
19 // along with this program; if not, write to the
20 // Free Software Foundation, Inc.,
21 // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
24 \brief FramingPolicy public header
27 #ifndef HH_FramingPolicy_
28 #define HH_FramingPolicy_ 1
31 #include "SocketPolicy.hh"
33 //#include "FramingPolicy.mpp"
34 ///////////////////////////////hh.p////////////////////////////////////////
38 /// \addtogroup policy_impl_group
41 /** \brief FramingPolicy for stream oriented sockets
43 This policy does not explicitly modify the SocketHAndle
44 API. It however affects the semantics of the read and write
45 operations. On a stream oriented socket, read() and write()
46 operations may be combined, the boundary between separate
47 write() calls will be lost on the receiving side.
49 struct StreamFramingPolicy : public FramingPolicyBase
52 /** \brief FramingPolicy for datagram oriented sockets
54 This policy does not explicitly modify the SocketHAndle
55 API. It however affects the semantics of the read and write
56 operations. On a datagram socket, each read() or write() call
57 we read or write a single datagram. Datagram boundaries are
58 kept intact accross the network.
60 struct DatagramFramingPolicy : public FramingPolicyBase
67 ///////////////////////////////hh.e////////////////////////////////////////
68 //#include "FramingPolicy.cci"
69 //#include "FramingPolicy.ct"
70 //#include "FramingPolicy.cti"
77 // c-file-style: "senf"
78 // indent-tabs-mode: nil
79 // ispell-local-dictionary: "american"
80 // compile-command: "scons -u test"