-
Notifications
You must be signed in to change notification settings - Fork 652
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Clean up and regression check the docs. (#2400)
Motivation: Up until recently, it has not been possible to regression check our documentation. However, in recent releases of the DocC plugin it has become possible to make warnings into errors, making it possible for us to CI our docs. This patch adds support for doing that, and also cleans up our documentation so that it successfully passes the check. Along the way I accidentally wrote an `index.md` for `NIOCore` so I figure we may as well keep it. Modifications: - Structure the documentation for NIOCore - Fix up DocC issues - Add `check-docs.sh` script to check the docs cleanly build - Wire things up to our docker-compose scripts. Result: We can CI our docs. Co-authored-by: George Barnett <[email protected]>
- Loading branch information
Showing
16 changed files
with
246 additions
and
35 deletions.
There are no files selected for viewing
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
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
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,169 @@ | ||
# ``NIOCore`` | ||
|
||
The core abstractions that make up SwiftNIO. | ||
|
||
## Overview | ||
|
||
``NIOCore`` contains the fundamental abstractions that are used in all SwiftNIO programs. The goal of this module is to | ||
be platform-independent, and to be the most-common building block used for NIO protocol implementations. | ||
|
||
More specialized modules provide concrete implementations of many of the abstractions defined in NIOCore. | ||
|
||
## Topics | ||
|
||
### Event Loops and Event Loop Groups | ||
|
||
- ``EventLoopGroup`` | ||
- ``EventLoop`` | ||
- ``NIOEventLoopGroupProvider`` | ||
- ``EventLoopIterator`` | ||
- ``Scheduled`` | ||
- ``RepeatedTask`` | ||
- ``NIOLoopBound`` | ||
- ``NIOLoopBoundBox`` | ||
|
||
### Channels and Channel Handlers | ||
|
||
- ``Channel`` | ||
- ``MulticastChannel`` | ||
- ``ChannelHandler`` | ||
- ``ChannelOutboundHandler`` | ||
- ``ChannelInboundHandler`` | ||
- ``ChannelDuplexHandler`` | ||
- ``ChannelHandlerContext`` | ||
- ``ChannelPipeline`` | ||
- ``RemovableChannelHandler`` | ||
- ``NIOAny`` | ||
- ``ChannelEvent`` | ||
- ``CloseMode`` | ||
- ``ChannelShouldQuiesceEvent`` | ||
|
||
### Buffers and Files | ||
|
||
- ``ByteBuffer`` | ||
- ``ByteBufferView`` | ||
- ``ByteBufferAllocator`` | ||
- ``Endianness`` | ||
- ``NIOFileHandle`` | ||
- ``FileDescriptor`` | ||
- ``FileRegion`` | ||
- ``NIOPOSIXFileMode`` | ||
- ``IOData`` | ||
|
||
### Futures and Promises | ||
|
||
- ``EventLoopFuture`` | ||
- ``EventLoopPromise`` | ||
|
||
### Configuring Channels | ||
|
||
- ``ChannelOption`` | ||
- ``NIOSynchronousChannelOptions`` | ||
- ``ChannelOptions`` | ||
- ``SocketOptionProvider`` | ||
- ``RecvByteBufferAllocator`` | ||
- ``AdaptiveRecvByteBufferAllocator`` | ||
- ``FixedSizeRecvByteBufferAllocator`` | ||
- ``AllocatorOption`` | ||
- ``AllowRemoteHalfClosureOption`` | ||
- ``AutoReadOption`` | ||
- ``BacklogOption`` | ||
- ``ConnectTimeoutOption`` | ||
- ``DatagramVectorReadMessageCountOption`` | ||
- ``MaxMessagesPerReadOption`` | ||
- ``RecvAllocatorOption`` | ||
- ``SocketOption`` | ||
- ``SocketOptionLevel`` | ||
- ``SocketOptionName`` | ||
- ``SocketOptionValue`` | ||
- ``WriteBufferWaterMarkOption`` | ||
- ``WriteBufferWaterMark`` | ||
- ``WriteSpinOption`` | ||
|
||
### Message Oriented Protocol Helpers | ||
|
||
- ``AddressedEnvelope`` | ||
- ``NIOPacketInfo`` | ||
- ``NIOExplicitCongestionNotificationState`` | ||
|
||
### Generic Bootstraps | ||
|
||
- ``NIOClientTCPBootstrap`` | ||
- ``NIOClientTCPBootstrapProtocol`` | ||
- ``NIOClientTLSProvider`` | ||
- ``NIOInsecureNoTLS`` | ||
|
||
### Simple Message Handling | ||
|
||
- ``ByteToMessageDecoder`` | ||
- ``WriteObservingByteToMessageDecoder`` | ||
- ``DecodingState`` | ||
- ``ByteToMessageHandler`` | ||
- ``NIOSingleStepByteToMessageDecoder`` | ||
- ``NIOSingleStepByteToMessageProcessor`` | ||
- ``MessageToByteEncoder`` | ||
- ``MessageToByteHandler`` | ||
|
||
### Core Channel Handlers | ||
|
||
- ``AcceptBackoffHandler`` | ||
- ``BackPressureHandler`` | ||
- ``NIOCloseOnErrorHandler`` | ||
- ``IdleStateHandler`` | ||
|
||
### Async Sequences | ||
|
||
- ``NIOAsyncSequenceProducer`` | ||
- ``NIOThrowingAsyncSequenceProducer`` | ||
- ``NIOAsyncSequenceProducerBackPressureStrategy`` | ||
- ``NIOAsyncSequenceProducerBackPressureStrategies`` | ||
- ``NIOAsyncSequenceProducerDelegate`` | ||
- ``NIOAsyncWriter`` | ||
- ``NIOAsyncWriterSinkDelegate`` | ||
|
||
### Time | ||
|
||
- ``TimeAmount`` | ||
- ``NIODeadline`` | ||
|
||
### Circular Buffers | ||
|
||
- ``CircularBuffer`` | ||
- ``MarkedCircularBuffer`` | ||
|
||
### Operating System State | ||
|
||
- ``System`` | ||
- ``NIONetworkDevice`` | ||
- ``NIONetworkInterface`` | ||
- ``SocketAddress`` | ||
- ``NIOBSDSocket`` | ||
- ``NIOIPProtocol`` | ||
|
||
### Implementing Core Abstractions | ||
|
||
- ``ChannelCore`` | ||
- ``ChannelInvoker`` | ||
- ``ChannelInboundInvoker`` | ||
- ``ChannelOutboundInvoker`` | ||
|
||
### Sendable Helpers | ||
|
||
- ``NIOSendable`` | ||
- ``NIOPreconcurrencySendable`` | ||
|
||
### Error Types | ||
|
||
- ``ByteToMessageDecoderError`` | ||
- ``ChannelError`` | ||
- ``ChannelPipelineError`` | ||
- ``DatagramChannelError`` | ||
- ``EventLoopError`` | ||
- ``IOError`` | ||
- ``NIOAsyncWriterError`` | ||
- ``NIOAttemptedToRemoveHandlerMultipleTimesError`` | ||
- ``NIOMulticastNotImplementedError`` | ||
- ``NIOMulticastNotSupportedError`` | ||
- ``NIOTooManyBytesError`` | ||
- ``SocketAddressError`` | ||
|
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
Oops, something went wrong.