Skip to content

Commit 5ad39cc

Browse files
author
mikhail_beris
committed
Merging integration_0_4 r210 into trunk.
1 parent e1bf74d commit 5ad39cc

File tree

97 files changed

+5651
-4303
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

97 files changed

+5651
-4303
lines changed

Jamroot

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
2-
# Copyright Dean Michael Berris 2007.
3-
# Distributed under the Boost Software License, Version 1.0.
4-
# (See accompanying file LICENSE_1_0.txt or copy at
5-
# http://www.boost.org/LICENSE_1_0.txt)
6-
7-
import os ;
8-
9-
local BOOST_ROOT = [ os.environ BOOST_ROOT ] ;
10-
11-
use-project /boost : $(BOOST_ROOT) ;
12-
13-
using testing ;
14-
1+
2+
# Copyright Dean Michael Berris 2007.
3+
# Distributed under the Boost Software License, Version 1.0.
4+
# (See accompanying file LICENSE_1_0.txt or copy at
5+
# http://www.boost.org/LICENSE_1_0.txt)
6+
7+
import os ;
8+
9+
local BOOST_ROOT = [ os.environ BOOST_ROOT ] ;
10+
11+
use-project /boost : $(BOOST_ROOT) ;
12+
13+
using testing ;
14+
1515
build-project libs/network/test ;

RATIONALE

Lines changed: 64 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,64 @@
1-
C++ Networking Library
2-
Goals and Scope
3-
4-
5-
Objectives
6-
----------
7-
8-
o Develop a high quality, portable, easy to use C++ networking library
9-
10-
o Enable users to easily extend the library
11-
12-
o Lower the barrier to entry for cross-platform network-aware C++
13-
applications
14-
15-
16-
Goals
17-
-----
18-
19-
* Implement a simple message implementation which can be used in
20-
network protocol-specific routines for inter-operability and
21-
to provide a generic interface to manipulating network-oriented
22-
messages.
23-
24-
* Implement easy to use protocol client libraries such as (but not
25-
limited to):
26-
27-
- HTTP 1.0/1.1
28-
- (E)SMTP
29-
- SNMP
30-
- ICMP
31-
32-
* Implement an efficient easy to use URI class/parser.
33-
34-
* Implement a fully compliant cross-platform asynchronous DNS resolver
35-
either as a wrapper to external (C) libraries, or as hand-rolled
36-
implementation.
37-
38-
* Implement a MIME handler which builds message objects from either
39-
data retrieved from the network or other sources and create
40-
text/binary representations from existing message objects intended
41-
for transport over the network.
42-
43-
44-
Scope
45-
-----
46-
47-
* The library will provide a generic message class which is intended
48-
to be the common message type used by the protocol libraries.
49-
50-
* The library will only contain client implementations for the various
51-
supported protocols.
52-
53-
* The library will use only STL and Boost C++ library components,
54-
utilities, and libraries throughout the implementation.
55-
56-
* The library will strive to use C++ templates and template
57-
metaprogramming techniques in order to not require the building of
58-
external shared/static libraries. In other words, the library will be
59-
header-only and compliant with the C++ standard.
60-
61-
1+
C++ Networking Library
2+
Goals and Scope
3+
4+
5+
Objectives
6+
----------
7+
8+
o Develop a high quality, portable, easy to use C++ networking library
9+
10+
o Enable users to easily extend the library
11+
12+
o Lower the barrier to entry for cross-platform network-aware C++
13+
applications
14+
15+
16+
Goals
17+
-----
18+
19+
* Implement a simple message implementation which can be used in
20+
network protocol-specific routines for inter-operability and
21+
to provide a generic interface to manipulating network-oriented
22+
messages.
23+
24+
* Implement easy to use protocol client libraries such as (but not
25+
limited to):
26+
27+
- HTTP 1.0/1.1
28+
- (E)SMTP
29+
- SNMP
30+
- ICMP
31+
32+
* Implement an easy to embed HTTP server container type that supports
33+
most modern HTTP 1.1 features.
34+
35+
* Implement an efficient easy to use URI class/parser.
36+
37+
* Implement a fully compliant cross-platform asynchronous DNS resolver
38+
either as a wrapper to external (C) libraries, or as hand-rolled
39+
implementation.
40+
41+
* Implement a MIME handler which builds message objects from either
42+
data retrieved from the network or other sources and create
43+
text/binary representations from existing message objects intended
44+
for transport over the network.
45+
46+
47+
Scope
48+
-----
49+
50+
* The library will provide a generic message class which is intended
51+
to be the common message type used by the protocol libraries.
52+
53+
* The library will only contain client implementations for the various
54+
supported protocols.
55+
56+
* The library will use only STL and Boost C++ library components,
57+
utilities, and libraries throughout the implementation.
58+
59+
* The library will strive to use C++ templates and template
60+
metaprogramming techniques in order to not require the building of
61+
external shared/static libraries. In other words, the library will be
62+
header-only and compliant with the C++ standard.
63+
64+

README.txt

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,22 @@
1-
C++ Network Library
2-
3-
This is a collection of network related routines/implementations
4-
geared towards providing a robust cross-platform networking library.
5-
This offers the following implementations:
6-
7-
o Common Message Type -- A generic message type which can be used
8-
to encapsulate and store message related information, used by all
9-
network implementations as the primary means of data exchange.
10-
o Network protocol message parsers -- A collection of parsers which
11-
generate message objects from strings.
12-
o Adapters and Wrappers -- A collection of Adapters and wrappers aimed
13-
towards making the message type STL friendly.
14-
15-
This library is released under the Boost Software License (please see
16-
http://boost.org/LICENSE_1_0.txt or the accompanying LICENSE_1_0.txt file
17-
for the full text.
18-
19-
1+
C++ Network Library
2+
3+
This is a collection of network related routines/implementations
4+
geared towards providing a robust cross-platform networking library.
5+
This offers the following implementations:
6+
7+
o Common Message Type -- A generic message type which can be used
8+
to encapsulate and store message related information, used by all
9+
network implementations as the primary means of data exchange.
10+
o Network protocol message parsers -- A collection of parsers which
11+
generate message objects from strings.
12+
o Adapters and Wrappers -- A collection of Adapters and wrappers aimed
13+
towards making the message type STL friendly.
14+
o Network protocol client and server implementations -- A collection
15+
of network protocol implementations that include embeddable client
16+
and server types.
17+
18+
This library is released under the Boost Software License (please see
19+
http://boost.org/LICENSE_1_0.txt or the accompanying LICENSE_1_0.txt file
20+
for the full text.
21+
22+

boost/network.hpp

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
1-
2-
// Copyright Dean Michael Berris 2007.
3-
// Distributed under the Boost Software License, Version 1.0.
4-
// (See accompanying file LICENSE_1_0.txt or copy at
5-
// http://www.boost.org/LICENSE_1_0.txt)
6-
7-
#ifndef __NETWORK_HPP__
8-
#define __NETWORK_HPP__
9-
10-
// Include all headers in network/
11-
// Author: Dean Michael Berris
12-
// Date: May 20, 2007
13-
14-
#include <boost/network/message.hpp> // message type implementation
15-
#include <boost/network/protocol.hpp> // protocols implementation
16-
17-
#endif // __NETWORK_HPP__
18-
1+
2+
// Copyright Dean Michael Berris 2007.
3+
// Distributed under the Boost Software License, Version 1.0.
4+
// (See accompanying file LICENSE_1_0.txt or copy at
5+
// http://www.boost.org/LICENSE_1_0.txt)
6+
7+
#ifndef __NETWORK_HPP__
8+
#define __NETWORK_HPP__
9+
10+
// Include all headers in network/
11+
// Author: Dean Michael Berris
12+
// Date: May 20, 2007
13+
14+
#include <boost/network/message.hpp> // message type implementation
15+
#include <boost/network/protocol.hpp> // protocols implementation
16+
17+
#endif // __NETWORK_HPP__
18+
Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,34 @@
1-
2-
// Copyright Dean Michael Berris 2007.
3-
// Distributed under the Boost Software License, Version 1.0.
4-
// (See accompanying file LICENSE_1_0.txt or copy at
5-
// http://www.boost.org/LICENSE_1_0.txt)
6-
7-
#ifndef __NETWORK_DETAIL_DIRECTIVE_BASE_HPP__
8-
#define __NETWORK_DETAIL_DIRECTIVE_BASE_HPP__
9-
10-
/** Defines the base type from which all directives inherit
11-
* to allow friend access to message and other types' internals.
12-
*/
13-
namespace boost { namespace network { namespace detail {
14-
15-
template <class Tag>
16-
struct directive_base {
17-
typedef Tag tag ;
18-
//explicit directive_base(basic_message<tag> & message_)
19-
// : _message(message_)
20-
protected:
21-
virtual ~directive_base()
22-
{ }; // can only be extended
23-
24-
// mutable basic_message<tag> & _message;
25-
};
26-
27-
} // namespace detail
28-
29-
} // namespace network
30-
31-
} // namespace boost
32-
33-
#endif // __NETWORK_DETAIL_DIRECTIVE_BASE_HPP__
34-
1+
2+
// Copyright Dean Michael Berris 2007.
3+
// Distributed under the Boost Software License, Version 1.0.
4+
// (See accompanying file LICENSE_1_0.txt or copy at
5+
// http://www.boost.org/LICENSE_1_0.txt)
6+
7+
#ifndef __NETWORK_DETAIL_DIRECTIVE_BASE_HPP__
8+
#define __NETWORK_DETAIL_DIRECTIVE_BASE_HPP__
9+
10+
/** Defines the base type from which all directives inherit
11+
* to allow friend access to message and other types' internals.
12+
*/
13+
namespace boost { namespace network { namespace detail {
14+
15+
template <class Tag>
16+
struct directive_base {
17+
typedef Tag tag ;
18+
//explicit directive_base(basic_message<tag> & message_)
19+
// : _message(message_)
20+
protected:
21+
virtual ~directive_base()
22+
{ }; // can only be extended
23+
24+
// mutable basic_message<tag> & _message;
25+
};
26+
27+
} // namespace detail
28+
29+
} // namespace network
30+
31+
} // namespace boost
32+
33+
#endif // __NETWORK_DETAIL_DIRECTIVE_BASE_HPP__
34+

boost/network/detail/wrapper_base.hpp

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,33 @@
1-
2-
// Copyright Dean Michael Berris 2007.
3-
// Distributed under the Boost Software License, Version 1.0.
4-
// (See accompanying file LICENSE_1_0.txt or copy at
5-
// http://www.boost.org/LICENSE_1_0.txt)
6-
7-
#ifndef __NETWORK_DETAIL_WRAPPER_BASE_HPP__
8-
#define __NETWORK_DETAIL_WRAPPER_BASE_HPP__
9-
10-
namespace boost { namespace network { namespace detail {
11-
12-
template <class Tag>
13-
struct wrapper_base {
14-
typedef Tag tag;
15-
explicit wrapper_base(basic_message<tag> & message_)
16-
: _message(message_)
17-
{ };
18-
19-
protected:
20-
virtual ~wrapper_base()
21-
{ }; // for extending only
22-
23-
mutable basic_message<tag> & _message;
24-
};
25-
26-
} // namespace detail
27-
28-
} // namespace network
29-
30-
} // namespace boost
31-
32-
#endif // __NETWORK_DETAIL_WRAPPER_BASE_HPP__
33-
1+
2+
// Copyright Dean Michael Berris 2007.
3+
// Distributed under the Boost Software License, Version 1.0.
4+
// (See accompanying file LICENSE_1_0.txt or copy at
5+
// http://www.boost.org/LICENSE_1_0.txt)
6+
7+
#ifndef __NETWORK_DETAIL_WRAPPER_BASE_HPP__
8+
#define __NETWORK_DETAIL_WRAPPER_BASE_HPP__
9+
10+
namespace boost { namespace network { namespace detail {
11+
12+
template <class Tag>
13+
struct wrapper_base {
14+
typedef Tag tag;
15+
explicit wrapper_base(basic_message<tag> & message_)
16+
: _message(message_)
17+
{ };
18+
19+
protected:
20+
virtual ~wrapper_base()
21+
{ }; // for extending only
22+
23+
mutable basic_message<tag> & _message;
24+
};
25+
26+
} // namespace detail
27+
28+
} // namespace network
29+
30+
} // namespace boost
31+
32+
#endif // __NETWORK_DETAIL_WRAPPER_BASE_HPP__
33+

0 commit comments

Comments
 (0)