269 Commits
Author SHA1 Message Date
Vinnie Falco ac6c23dd6b Doc root is at index.html
fix #795
2017-09-26 10:03:46 -07:00
Vinnie Falco b5f22bdef6 Add buffers_to_string
fix #772
2017-09-20 08:31:36 -07:00
Vinnie Falco 06fb2b9dfc buffers_cat replaces buffer_cat (API Change):
fix #773

* buffer_cat is renamed to buffers_cat
* buffer_cat_view is renamed to buffers_cat_view

Actions Required:

* Use buffers_cat instead of buffer_cat
* Use buffers_cat_view instead of buffer_cat_view
2017-09-15 12:52:59 -07:00
Vinnie Falco 38c2816539 buffers_front replaces buffer_front (API Change):
fix #773

* buffer_front is renamed to buffer_front

Actions Required:

* Use buffers_front instead of buffer_front
2017-09-15 12:52:59 -07:00
Vinnie Falco e94a65b04a buffers_prefix replaces buffer_prefix (API Change)
fix #773

* buffer_prefix is renamed to buffers_prefix
* buffer_prefix_view is renamed to buffers_prefix_view

Actions Required:

* Use buffers_prefix instead of buffer_prefix
* Use buffers_prefix_view instead of buffer_prefix_view
2017-09-15 12:52:58 -07:00
Vinnie Falco 795da80859 buffers_suffix replaces consuming_buffers (API Change):
fix #770

* consuming_buffers is renamed to buffers_suffix

Actions Required:

* Use buffers_suffix instead of consuming_buffers
2017-09-15 12:52:45 -07:00
Vinnie Falco 38e28966ea message::version is a member function (API Change):
fix #778

* The version data member is replaced with accessor
  member functions.

Actions Required:

* Call member function message::version instead of accessing
  the version member at call sites.
2017-09-12 17:13:02 -07:00
Vinnie Falco 49d9d47a0b HTTP reads and writes return bytes transferred (API Change):
* HTTP read and write operations now return the
  number of bytes transferred to or from the stream.

Actions Required:

* Modify HTTP read and/or write completion handlers to receive
  the extra std::size_t bytes_transferred parameter.
2017-09-03 20:37:28 -07:00
Vinnie Falco cc8246e27e Update websocket notes 2017-09-03 20:05:20 -07:00
Vinnie Falco a73b6474e9 Add doc read and write handler class details 2017-09-03 20:05:20 -07:00
Vinnie Falco 0b83eb8e1e Add file to documentation 2017-08-23 12:02:32 -07:00
Vinnie Falco 59d4b85e15 Don't use async_write_msg in examples
fix #746
2017-08-18 07:55:30 -07:00
Vinnie Falco 76feb4afd4 Fix for basic_parser::skip(true) and docs
fix #742
2017-08-15 07:00:56 -07:00
Vinnie Falco 6f85f38836 Section headings in examples 2017-08-08 06:20:24 -07:00
Vinnie Falco dd71b0f94d Refactor all examples:
fix #575, fix #604, fix #608, fix #634, fix #712

All examples are rewritten:

* Using Best Practices
* Mostly self-contained
* New examples to complete the feature matrix
* The server-framework example is removed
2017-08-07 20:53:11 -07:00
Vinnie Falco 5e6ee5445e websocket documentation 2017-08-04 19:02:13 -07:00
Vinnie Falco 60c8a560bf Add teardown_role for correct TIME_WAIT behavior (API Change):
* teardown_tag is replaced with teardown_role, a client/server
  flag used to determine whether the shutdown is performed
  before or after reading the EOF. This is in accordance with
  RFC6455 7.1.1:

  https://tools.ietf.org/html/rfc6455#section-7.1.1

Actions Required:

* Modify signatures of teardown and async_teardown to use
  teardown_role instead of teardown_tag

* Change calls to teardown and async_teardown to pass the
  correct role: client or server depending on context.
2017-08-04 19:02:13 -07:00
Vinnie Falco de03a1a32d drain_buffer is removed (API Change):
* The drain_buffer dynamic buffer is no longer a public interface.

Actions Required:

* Replace code which uses drain_buffer. For websocket::stream,
  it is no longer necessary to manually drain the connection
  after closing.
2017-08-04 19:02:13 -07:00
Vinnie Falco 338374a37f Don't output LIB_DIR 2017-08-03 08:59:46 -07:00
Vinnie Falco c495f946c9 Fix doc includes 2017-08-03 08:53:12 -07:00
Vinnie Falco 69c9ec5d9f Fix doc convenience includes 2017-08-03 07:47:49 -07:00
Vinnie Falco 3f26cc98de Show LIB_DIR (debug) 2017-08-03 05:15:43 -07:00
Nik Bougalis db92ec9127 Fix doc typo 2017-08-03 04:22:08 -07:00
Vinnie Falco 1f0ad880fc Fix LIB_DIR for Windows 2017-08-02 19:17:35 -07:00
Rene Rivera 852d2b487e Fix LIB_DIR calculation. 2017-08-02 19:09:03 -07:00
Vinnie Falco 5460b8618c Use LIB_DIR in text output (debug) 2017-08-02 09:19:19 -07:00
Vinnie Falco e21d251e6c Use correct var in doc Jamfile 2017-08-02 07:36:23 -07:00
Vinnie Falco 6a0b57ed4c Log on Linux not Windows 2017-08-01 20:45:53 -07:00
Vinnie Falco 7e1ade4169 Log the value of LIB_DIR for doc builds (debug) 2017-08-01 12:41:36 -07:00
Vinnie Falco 8bfa058daa Tidy up doc snippet paths 2017-07-29 12:44:41 -07:00
Vinnie Falco 61b2b63b57 Update doc copyrights 2017-07-29 00:25:00 -07:00
Vinnie Falco 8bf86bd2fa Build stand-alone doc 2017-07-29 00:25:00 -07:00
Vinnie Falco b2d58d60f9 Fix doc title 2017-07-28 19:30:28 -07:00
Vinnie Falco ddd67ef30e source.dox is path-independent 2017-07-28 17:07:23 -07:00
Vinnie Falco c28a700a00 Output to integrated documentation 2017-07-28 16:27:08 -07:00
Peter Dimov 31d2718eac Use configured doxygen and xsltproc 2017-07-25 05:33:28 -07:00
Vinnie Falco 03ec8d4d4b Normalize doc build scripts 2017-07-25 05:33:27 -07:00
Vinnie Falco f084d1e7b8 Add config-template 2017-07-24 10:40:57 -07:00
Vinnie Falco 982f4c3b70 Update documentation for boost 2017-07-24 09:41:27 -07:00
Vinnie Falco a72839645d Update README.md 2017-07-23 17:36:31 -07:00
Vinnie Falco cb501a07c8 WebSocket optimizations (API Change):
The websocket stream is optimized to contain a small
circular static buffer, reducing the number of I/O calls when
reading data. The size of the buffer is tuned for maximum
performance with TCP/IP and no long needs configuration:

* read_some replaces read_frame
* write_some replaces write_Frame
* async_read_some replaces async_read_frame
* async_write_some replaces async_write_frame

* websocket::stream::read_buffer_size is removed

Actions Required:

* Remove calls websocket::stream::read_buffer_size

* Use read_some and write_some instead of read_frame and write_frame
2017-07-20 08:15:32 -07:00
Vinnie Falco 04887c49e0 Documentation work 2017-07-20 08:15:32 -07:00
Vinnie Falco 4e44ddbd45 Add static_buffer (API Change):
* static_buffer is added

Note this is the same name from two versions ago, when
static_buffer was renamed to flat_static_buffer for
consistency and to clear the name for a circular static
buffer.

Actions Required:

* Callers who depend on static_buffer returning sequences of
  exactly length one should switch to flat_static_buffer.
2017-07-20 08:15:32 -07:00
Vinnie Falco cee3bff060 Add buffer_front 2017-07-20 08:15:32 -07:00
Vinnie Falco 94e92e75b7 Rename to flat_static_buffer and flat_static_buffer_base (API Change):
Actions Required:

* Rename static_buffer to flat_static_buffer_base
* Rename static_buffer_n to flat_static_buffer
2017-07-20 08:15:31 -07:00
Vinnie Falco 4b71aa67e0 Refactor chunked parsing (API Change):
* parser now has a callback feature for intercepting chunk headers
  and chunk bodies

* The names for basic_parser derived class callbacks have been
  refactored

* basic_parser offers an additional callback for distinguishing
  chunk body data.

Actions Required:

* Adjust signatures for required members of user-defined
  subclasses of basic_parser

* Use the new basic_parser chunk callbacks for accessing
  chunk extensions and chunk bodies.
2017-07-20 08:15:31 -07:00
Vinnie Falco ff15cf8688 Refactor chunked-encoding serialization:
New buffer sequence classes are provided to allow full
control over the serialization of chunk-encoded message
payloads:

* chunk_header

    A ConstBufferSequence representing the chunk header.
    It includes a hexadecimal-encoded size, an optional
    set of chunk extensions, and the trailing CRLF
    required to denote the end of the chunk header.

    This allows the caller to manually serialize the chunk
    body in one or more calls to a stream output function.
    The caller must also output an object of type `chunk_crlf`
    to the stream to indicate the end of the chunk body.

* chunk_crlf

    A small ConstBufferSequence that simply represents
    the two character sequence "\r\n" (CRLF). This is needed
    for the case where the caller wants to output a chunk
    body as a series of buffers (i.e. "chunking a chunk").

* chunk_body

    A ConstBufferSequence representing a complete chunk.
    This includes the size, an optional set of chunk extensions,
    a caller provided buffer containing the body, and the
    required CRLF that follows.

* chunk_final

    A ConstBufferSequence representing a final chunk. It
    includes an optional set of caller-provided field trailers

* chunk_extensions

    A container for building a set of chunk extensions to use
    during serialization. The use of the container is optional,
    callers may provide their own buffer containing a correctly
    formatted set of chunk extensions, or they may use their
    own convenience container which meets the requirements.

The basic_fields container is modified to allow construction
outside the context of a message. The container can be used
to provide trailers to `chunk_final`.

Actions Required:

* Remove references to ChunkDecorators. Use the new chunk-encoding
  buffer sequences to manually produce a chunked payload body in
  the case where control over the chunk-extensions and/or trailers
  is required.
2017-07-20 08:15:31 -07:00
Vinnie Falco 6cec63fc9e Add basic_file_body.hpp 2017-07-20 08:15:31 -07:00
Vinnie Falco b65f0abd50 Javadoc tidying 2017-07-20 08:15:30 -07:00
Vinnie Falco 5788ed2574 Remove string_view_body
Actions Required:

* Use span_body<char> instead of string_view_body
2017-07-20 08:15:30 -07:00