Tacopie Versions Save

C++ TCP Library - NO LONGER MAINTAINED

3.2.0

6 years ago

Tag

3.2.0

Date

November 13th, 2017

Changes

  • fork support: allow set_default_io_service to take nullptr. In order to safely fork, call set_default_io_service(nullptr) to make sure the io_service destructor is called and all underlying threads joined.
  • fix: timeout for connection not working due to invalid param to select, now working
  • improvement: make sure socket is in blocking mode before connection (#32) as it differs from one OS to another
  • improvement: check for non-blocking connect errors with getsockopt to avoid connect reporting a successful connection followed by a call to disconnection handler (now connect report a failed connection as expected).

Additions

  • ipv6 support (connect, bind and accept operations, on tcp_server and tcp_client)

Removals

None

3.1.0

6 years ago

Tag

3.1.0

Date

November 2nd, 2017

Changes

  • Improvement: For windows, if port is 0, use the default AF_INET windows API behavior (bind to first port available). Behavior on unix is unchanged (is unix socket).
  • CMake fix: Remove explicit STATIC in add_library call so dynamic libraries can be built with -DBUILD_SHARED_LIBS=ON

Additions

  • Visual Studio C++ solution

Removals

None

3.0.1

6 years ago

Tag

3.0.1

Date

September 26th, 2017

Changes

  • Fix some compilation issues on windows

Additions

None.

Removals

  • Private, Protected and Static functions from doxygen documentation

3.0.0

6 years ago

Tag

3.0.0

Date

September 20th, 2017

Changes

  • clear pending read and write requests on disconnection
  • io_service access
  • ability to modify number of io service worker at runtime

Additions

  • doxygen documentation
  • connection timeout if requested (for tcp_socket and tcp_client)
  • ability to change the number of io_service workers (or thread_pool threads) at runtime

Removals

None.

2.4.4

6 years ago

Tag

2.4.4

Date

July 2nd, 2017

Changes

  • add calls to WSAStartup and WSACleanup in examples (#16).
  • fix #17 and cpp_redis#85 (select keep sleeping and does not process incoming read/write events).

Additions

None.

Removals

None.

2.4.3

6 years ago

Tag

2.4.3

Date

June 19th, 2017

Changes

  • Remove unnecessary use of self-pipe to try to fix high-CPU usage issued reported on this repository and on cpp_redis repository.

Additions

  • CMake compilation flag SELECT_TIMEOUT that can be used to define the select timeout in nano seconds. By default, timeout is set to NULL (unlimited).

Removals

None.

2.4.2

6 years ago

Tag

2.4.2

Date

June 11th, 2017

Changes

  • Compilation Fix
  • change behavior of on_new_connection_handler. Returning true means connection is handled by tcp_client wrapper and nothing will be done by tcp_server. Returning false means connection is handled by tcp_server, will be stored in an internal list and tcp_client disconection_handler overriden.

Additions

  • get_host & get_port methods for tcp_client

Removals

None.

2.4.1

7 years ago

Tag

2.4.1

Date

April 30th, 2017

Changes

  • Compile project with /bigobj option on windows
  • Fix behavior when trying to reconnect from disconnection_handler callback

Additions

None.

Removals

None.

2.4.0

7 years ago

Tag

2.4.0

Date

April 9th, 2017

Changes

None.

Additions

  • Provide support for Unix socket. Simply pass in 0 as the port when building a tcp_socket, tcp_client or tcp_server. Then, the host will automatically be treated as the path to a Unix socket instead of a real host.

Removals

None.

2.3.0

7 years ago

Tag

2.3.0

Date

April 9th, 2017

Changes

None.

Additions

  • TCP server now supports wait_for_removal as a parameter for .stop(). Please refer to the documentation for more information.

Removals

None.