Skip to content

Commit b751526

Browse files
committed
Merging from upstream.
2 parents 7fa83c3 + 53459a8 commit b751526

File tree

179 files changed

+14496
-0
lines changed

Some content is hidden

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

179 files changed

+14496
-0
lines changed

.gitignore

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
*.cmake
2+
*.swp
3+
*.pyc
4+
CMakeCache.txt
5+
CMakeFiles
6+
Makefile
7+
Testing
8+
build
9+
bin
10+

CMakeLists.txt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Copyright (c) Dean Michael Berris 2010.
2+
# Distributed under the Boost Software License, Version 1.0.
3+
# (See accompanying file LICENSE_1_0.txt or copy at
4+
# http://www.boost.org/LICENSE_1_0.txt)
5+
6+
cmake_minimum_required(VERSION 2.6)
7+
project(CPP-NETLIB)
8+
find_package( Boost 1.41.0 )
9+
if (Boost_FOUND)
10+
set(Boost_USE_STATIC_LIBS ON)
11+
set(Boost_USE_MULTI_THREADED ON)
12+
include_directories(${Boost_INCLUDE_DIRS})
13+
endif()
14+
enable_testing()
15+
add_subdirectory(libs/network/test)
16+
add_subdirectory(libs/mime/test)
17+

Jamroot

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
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+
15+
build-project libs/network/test ;
16+
build-project libs/mime/test ;
17+

LICENSE_1_0.txt

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
Boost Software License - Version 1.0 - August 17th, 2003
2+
3+
Permission is hereby granted, free of charge, to any person or organization
4+
obtaining a copy of the software and accompanying documentation covered by
5+
this license (the "Software") to use, reproduce, display, distribute,
6+
execute, and transmit the Software, and to prepare derivative works of the
7+
Software, and to permit third-parties to whom the Software is furnished to
8+
do so, all subject to the following:
9+
10+
The copyright notices in the Software and this entire statement, including
11+
the above license grant, this restriction and the following disclaimer,
12+
must be included in all copies of the Software, in whole or in part, and
13+
all derivative works of the Software, unless such copies or derivative
14+
works are solely in the form of machine-executable object code generated by
15+
a source language processor.
16+
17+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
20+
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
21+
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
22+
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+
DEALINGS IN THE SOFTWARE.

RATIONALE.txt

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +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 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 & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +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+
* 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+
* Network protocol message parsers -- A collection of parsers which
11+
generate message objects from strings.
12+
* Adapters and Wrappers -- A collection of Adapters and wrappers aimed
13+
towards making the message type STL friendly.
14+
* 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+

0 commit comments

Comments
 (0)