Skip to content
23 changes: 14 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,11 @@ Example environments where Chops Net IP is a good fit:
- Peer-to-peer applications where the application doesn't care which side connects or accepts.
- Frameworks or groups of applications where abstracting wire-protocol logic from message processing logic makes sense.

## A Short Example
## Examples

(fill in code here)
Example demo programs are in the [`/example`](https://github.com/connectivecpp/chops-net-ip) directory.

The `simple_chat_demo.cpp` program has a listing of the multiple steps to set up working example.

## Want More?

Expand All @@ -75,18 +77,21 @@ While the main production branch will always be developed and tested with C++ 17

# External Dependencies

The libraries and API's have minimal (as possible) library dependencies (there are heavy dependencies on the C++ standard library in all of the code). There are more dependencies in the test code than in the production code.
The libraries and API's have minimal (as possible) library dependencies (there are heavy dependencies on the C++ standard library in all of the code). ~~There are more dependencies in the test code than in the production code.~~

All the dependencies listed below have links that will take you to the library or repository.

Production external dependencies:

- Version 1.12 (or later) of Chris Kohlhoff's `asio` repository is required. Note that it is the stand-alone library, not the Boost Asio implementation.
- Version 0.9 (or later) of `utility-rack`, which is a repository in the same GitHub account as Chops Net IP (`shared_buffer.hpp` and `erase_where.hpp` are required).
- Version 0.1 (or later) of Martin Moene's `expected-lite` library.
- Version 1.12 (or later) of Chris Kohlhoff's [`asio`](https://think-async.com/Asio/) repository is required. Note that it is the stand-alone library, not the Boost Asio implementation.
- Version 0.9 (or later) of [`utility-rack`](https://connectivecpp.github.io/utility-rack), which is a repository in the same GitHub account as Chops Net IP (`shared_buffer.hpp` and `erase_where.hpp` are required).
- ~~Version 0.1 (or later) of Martin Moene's `expected-lite` library.~~
- Version 1.65.1 (or later) of the [Boost library](https://www.boost.org/). We are currently using version `1.69.0`.

Test external dependencies:

- Version 2.1.0 (or later) of Phil Nash's Catch 2 is required for all test scenarios.
- Version 1.65.1 (or later) of the Boost library is required in some test scenarios (`boost.endian` at minimum).
- Version 2.1.0 (or later) of Phil Nash's [Catch 2](https://github.com/catchorg/Catch2) is required for all test scenarios.
- ~~Version 1.65.1 (or later) of the Boost library is required in some test scenarios (`boost.endian` at minimum).~~

See [References](doc/references.md) for additional details on the above libraries.

Expand All @@ -109,7 +114,7 @@ See [References](doc/references.md) for details on dependencies and inspirations

The primary author of Chops is Cliff Green, cliffg at connectivecpp dot com. The primary co-author is Thurman Gillespy, thurmang at connectivecpp dot com, and Roxanne Agerone roxannea at connectivecpp dot com.

Contributors include ...
Collaborators include Roxanne Agerone and Nathan Deutsch.

Additional information including author comments is [available here](doc/about.md).

1 change: 1 addition & 0 deletions _config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
theme: jekyll-theme-cayman
2 changes: 1 addition & 1 deletion doc/references.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

- Phil Nash is the author of the Catch C++ unit testing library. The Catch library is available at https://github.com/catchorg/Catch2.

- The Boost libraries collection is a high quality set of C++ libraries, available at http://www.boost.org/.
- The Boost libraries collection is a high quality set of C++ libraries, available at https://www.boost.org/.

- Kirk Shoop is a C++ expert, particularly in the area of asynchronous design, and has presented multiple times at CppCon. His GitHub site is https://github.com/kirkshoop.

Expand Down
6 changes: 3 additions & 3 deletions example/udp_broadcast_demo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@
* @author Thurman Gillespy
*
* @copyright (c) Thurman Gillespy
* 5/5/19
* 7/16/19
*
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
*
* Sample make file. Assuems all repositories are in some directory.
* Sample make file. Assumes all repositories are in some directory.

g++ -std=c++17 -Wall -Werror \
-I ../include \
Expand Down Expand Up @@ -118,7 +118,7 @@ bool process_args(int argc, char* argv[], bool& print_errors, std::string& ip_ad
print_useage();
return EXIT_FAILURE;
}
// calculate network mask
// create broadcast address
try {

addr4 asaddr = asio::ip::make_address_v4(ip_address);
Expand Down