Simple index pages for docc (#170)

Motivation:

An index page ties all the other documentation together

Modifications:

Add index pages for the library targets.
Correct a few minor errors in the main docs.

Result:

A more joined up documentation experience.
This commit is contained in:
Peter Adams 2022-08-12 15:31:17 +01:00 committed by GitHub
parent da7c04777b
commit dabef818d3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 107 additions and 14 deletions

View File

@ -1,13 +0,0 @@
# Article
<!--@START_MENU_TOKEN@-->Summary<!--@END_MENU_TOKEN@-->
## Overview
<!--@START_MENU_TOKEN@-->Text<!--@END_MENU_TOKEN@-->
## Topics
### <!--@START_MENU_TOKEN@-->Group<!--@END_MENU_TOKEN@-->
- <!--@START_MENU_TOKEN@-->``Symbol``<!--@END_MENU_TOKEN@-->

View File

@ -0,0 +1,43 @@
# ``NIOExtras``
A collection of helpful utilities to assist in building and debugging Swift-NIO based applications.
## Overview
A collection of helpful utilities to assist in building and debugging Swift-NIO based applications. Topics covered include packet capture, the logging of channel pipeline events, frame decoding of various common forms and helpful data types.
Debugging aids include `ChannelHandler`s to log channel pipeline events both inbound and outbound; and a `ChannelHandler` to log data in packet capture format.
To support encoding and decoding helpers are provided for data frames which have fixed length; are new line terminated; contain a length prefix; or are defined by a `context-length` header.
To help simplify building a robust pipeline the ``ServerQuiescingHelper`` makes it easy to collect all child `Channel`s that a given server `Channel` accepts.
Easy request response flows can be built using the ``RequestResponseHandler`` which takes a request and a promise which is fulfilled when an expected response is received.
## Topics
### Debugging Aids
- ``DebugInboundEventsHandler``
- ``DebugOutboundEventsHandler``
- ``NIOWritePCAPHandler``
- ``NIOPCAPRingBuffer``
### Encoding and Decoding
- ``FixedLengthFrameDecoder``
- ``NIOJSONRPCFraming``
- ``LengthFieldBasedFrameDecoder``
- ``NIOLengthFieldBasedFrameDecoderError``
- ``LengthFieldPrepender``
- ``LengthFieldPrependerError``
- ``LineBasedFrameDecoder``
- ``NIOExtrasErrors``
- ``NIOExtrasError``
### Channel Pipeline Aids
- ``ServerQuiescingHelper``
- ``RequestResponseHandler``
### Data Types
- ``NIOLengthFieldBitLength``

View File

@ -184,7 +184,7 @@ public class NIOWritePCAPHandler: RemovableChannelHandler {
private var localAddress: SocketAddress?
private var remoteAddress: SocketAddress?
/// Reusable header for `. pcap` file.
/// Reusable header for `.pcap` file.
public static var pcapFileHeader: ByteBuffer {
var buffer = ByteBufferAllocator().buffer(capacity: 24)
buffer.writePCAPHeader()

View File

@ -0,0 +1,27 @@
# ``NIOHTTPCompression``
Automatic compression and decompression of HTTP data.
## Overview
Channel handlers to support automatic compression and decompression of HTTP data. Add the handlers to your pipeline to support the features you need.
`Content-Encoding`, `Content-Length`, and `accept-encoding` HTTP headers are set and respected where appropriate.
Be aware that this works best if there is sufficient data written between flushes. This also performs compute on the event loop thread which could impact performance.
## Topics
### Client Channel Handlers
- ``NIOHTTPRequestCompressor``
- ``NIOHTTPResponseDecompressor``
### Server Channel Handlers
- ``NIOHTTPRequestDecompressor``
- ``HTTPResponseCompressor``
### Compression Methods
- ``NIOCompression``
- ``NIOHTTPDecompression``

View File

@ -15,6 +15,7 @@
import CNIOExtrasZlib
import NIOCore
/// Namespace for decompression code.
public enum NIOHTTPDecompression {
/// Specifies how to limit decompression inflation.
public struct DecompressionLimit {

View File

@ -0,0 +1,35 @@
# ``NIOSOCKS``
SOCKS v5 protocol implementation
## Overview
An implementation of SOCKS v5 protocol. See [RFC1928](https://www.rfc-editor.org/rfc/rfc1928).
Add the appropriate channel handler to the start of your channel pipeline to use this protocol.
For an example see the NIOSOCKSClient target.
## Topics
### Channel Handlers
- ``SOCKSClientHandler``
- ``SOCKSServerHandshakeHandler``
### Client Messages
- ``ClientMessage``
- ``ClientGreeting``
- ``SOCKSRequest``
### Server Messages
- ``ServerMessage``
- ``SelectedAuthenticationMethod``
- ``SOCKSResponse``
### Supporting Types
- ``AuthenticationMethod``
- ``SOCKSServerReply``
- ``SOCKSCommand``
- ``SOCKSAddress``
- ``SOCKSProxyEstablishedEvent``
- ``SOCKSError``