-
Notifications
You must be signed in to change notification settings - Fork 82
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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.
- Loading branch information
1 parent
da7c047
commit dabef81
Showing
6 changed files
with
107 additions
and
14 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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`` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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`` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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`` |