Browse Source

Group docs and fix visibility (#57)

Motivation:

Grouping docs in the DocC index is a useful way to make the docs more
approachable.

Modifications:

- Group the docs
- Add a few more docs
- Change the visibility of an accidentally public type

Result:

Better docs
George Barnett 1 year ago
parent
commit
e4bf649e2e

+ 1 - 1
.spi.yml

@@ -1,5 +1,5 @@
 version: 1
 builder:
   configs:
-    - documentation_targets: [GRPCNIOTransportHTTP2, GRPCNIOTransportHTTP2Posix, GRPCNIOTransportHTTP2TransportServices]
+    - documentation_targets: [GRPCNIOTransportCore, GRPCNIOTransportHTTP2, GRPCNIOTransportHTTP2Posix, GRPCNIOTransportHTTP2TransportServices]
       swift_version: 6.0

+ 2 - 0
Sources/GRPCNIOTransportCore/Client/Connection/LoadBalancers/Subchannel.swift

@@ -380,6 +380,7 @@ extension Subchannel {
 }
 
 extension Subchannel {
+  /// ```
   ///            ┌───────────────┐
   ///   ┌───────▶│ NOT CONNECTED │───────────shutDown─────────────┐
   ///   │        └───────────────┘                                │
@@ -404,6 +405,7 @@ extension Subchannel {
   ///   │        ┌───────────────┐      │      ┌───────────────┐  │
   ///   └────────│  GOING AWAY   │──────┘      │   SHUT DOWN   │◀─┘
   ///            └───────────────┘             └───────────────┘
+  /// ```
   private enum State {
     /// Not connected and not actively connecting.
     case notConnected(NotConnected)

+ 34 - 0
Sources/GRPCNIOTransportCore/Documentation.docc/Documentation.md

@@ -0,0 +1,34 @@
+# ``GRPCNIOTransportCore``
+
+A module containing core components for high-performance HTTP/2 client and server
+transport implementations built on top of SwiftNIO.
+
+## Topics
+
+### Client and server transports
+
+- ``HTTP2ClientTransport``
+- ``HTTP2ServerTransport``
+
+### Transport extensions
+
+- ``ListeningServerTransport``
+
+### Name resolution
+
+- ``ResolvableTarget``
+- ``ResolvableTargets``
+- ``NameResolvers``
+- ``NameResolverRegistry``
+- ``NameResolverFactory``
+- ``NameResolver``
+- ``NameResolutionResult``
+
+### Addresses
+
+- ``SocketAddress``
+- ``Endpoint``
+
+### TLS
+
+- ``TLSConfig``

+ 2 - 2
Sources/GRPCNIOTransportCore/Server/Connection/ServerConnection.swift

@@ -17,8 +17,8 @@
 package import GRPCCore
 package import NIOCore
 
-public enum ServerConnection {
-  public enum Stream {
+package enum ServerConnection {
+  package enum Stream {
     package struct Outbound: ClosableRPCWriterProtocol {
       package typealias Element = RPCResponsePart<GRPCNIOTransportBytes>