docs(websocket,gateway): fix rustdoc link warnings, restore -D warnings doc gate

- dispatch.rs: qualify [invoke]/[invoke_streaming] as
  [GatewayDispatch::invoke]/[::invoke_streaming] (module-level docs
  need the type-qualified path)
- byte_adapter.rs: drop redundant explicit link targets for
  DEFAULT_WS_WRITE_TIMEOUT / DEFAULT_WS_IDLE_TIMEOUT (already
  re-exported at crate::websocket)
- from_wss.rs, byte_adapter.rs: backtick WssSession::drop and the
  private WsFraming (all-features-only link errors, same class)
- Ws pump/timeout module docs spot-checked against WS-13/18/17 impls:
  no drift found

RUSTDOCFLAGS="-D warnings" cargo doc --no-deps now exits clean both
default-features and --all-features.

docs(tasks): mark review-002-fu-doc-warnings done
This commit is contained in:
2026-08-31 06:23:30 +00:00
parent 5acc561eca
commit 4b6507c452
4 changed files with 9 additions and 8 deletions
+1 -1
View File
@@ -152,7 +152,7 @@ impl FromWss {
/// A live `from_wss` session: the channel-0 `CallConnection` (held /// A live `from_wss` session: the channel-0 `CallConnection` (held
/// exclusively by the consumer) plus the drop-monitor tasks. Dropping /// exclusively by the consumer) plus the drop-monitor tasks. Dropping
/// the session (via [`WssSession::drop`] or `std::mem::forget` for /// the session (via `WssSession::drop` or `std::mem::forget` for
/// fire-and-forget imports) tears the WS down; the monitor fails all /// fire-and-forget imports) tears the WS down; the monitor fails all
/// in-flight pending calls with retryable `CONNECTION_CLOSED`. /// in-flight pending calls with retryable `CONNECTION_CLOSED`.
pub struct WssSession { pub struct WssSession {
+4 -3
View File
@@ -42,9 +42,10 @@
//! or AccessControl check of its own (alkcall CF-004). Without a guard, //! or AccessControl check of its own (alkcall CF-004). Without a guard,
//! `POST /call {"operation":"services/schema","input":{"name":X}}` //! `POST /call {"operation":"services/schema","input":{"name":X}}`
//! returns the full spec of any Internal op, defeating the GET //! returns the full spec of any Internal op, defeating the GET
//! `/schema` fix (GW-02/SRV-02) through the op path. [`invoke`] and //! `/schema` fix (GW-02/SRV-02) through the op path.
//! [`invoke_streaming`] therefore apply the same is-internal + //! [`GatewayDispatch::invoke`] and [`GatewayDispatch::invoke_streaming`]
//! access-control checks to the inner `name` that GET `/schema` applies //! therefore apply the same is-internal + access-control checks to the
//! inner `name` that GET `/schema` applies
//! (404 for Internal, FORBIDDEN for ACL denial) before dispatching. //! (404 for Internal, FORBIDDEN for ACL denial) before dispatching.
//! This is the alkhttp-local layer of the fix; the complete fix is the //! This is the alkhttp-local layer of the fix; the complete fix is the
//! alkcall-side handler check (CF-004, //! alkcall-side handler check (CF-004,
+3 -3
View File
@@ -668,7 +668,7 @@ pub fn split_ws_to_bytes_idle(
/// [`split_ws_to_bytes_idle`] with an explicit WS-18 write-progress /// [`split_ws_to_bytes_idle`] with an explicit WS-18 write-progress
/// window: `None` = the crate default /// window: `None` = the crate default
/// ([`DEFAULT_WS_WRITE_TIMEOUT`](crate::websocket::DEFAULT_WS_WRITE_TIMEOUT)), /// ([`DEFAULT_WS_WRITE_TIMEOUT`]),
/// `Some(d)` a deployment-set window. /// `Some(d)` a deployment-set window.
pub fn split_ws_to_bytes_idle_with_write( pub fn split_ws_to_bytes_idle_with_write(
socket: WebSocket, socket: WebSocket,
@@ -920,7 +920,7 @@ impl WsFraming for TungsteniteFraming {
/// Client-side split for a tokio-tungstenite `WebSocketStream` with /// Client-side split for a tokio-tungstenite `WebSocketStream` with
/// the default idle-read timeout /// the default idle-read timeout
/// ([`DEFAULT_WS_IDLE_TIMEOUT`](crate::websocket::DEFAULT_WS_IDLE_TIMEOUT)). /// ([`DEFAULT_WS_IDLE_TIMEOUT`]).
/// See [`split_tungstenite_to_bytes_idle`] for the configurable form. /// See [`split_tungstenite_to_bytes_idle`] for the configurable form.
#[cfg(any(test, feature = "wss"))] #[cfg(any(test, feature = "wss"))]
pub fn split_tungstenite_to_bytes<S>( pub fn split_tungstenite_to_bytes<S>(
@@ -938,7 +938,7 @@ where
/// axum's server-side `WebSocket`. Message semantics are identical: /// axum's server-side `WebSocket`. Message semantics are identical:
/// binary messages carry the byte stream, text is a protocol error /// binary messages carry the byte stream, text is a protocol error
/// (close 1002), close → read EOF. Both paths run the same generic /// (close 1002), close → read EOF. Both paths run the same generic
/// pumps (WS-11); the socket flavor differs only in the [`WsFraming`] /// pumps (WS-11); the socket flavor differs only in the `WsFraming`
/// impl. `idle_timeout` (WS-01): `None` = no idle bound, `Some(d)` /// impl. `idle_timeout` (WS-01): `None` = no idle bound, `Some(d)`
/// closes the read with 1001 after `d` without an inbound WS message. /// closes the read with 1001 after `d` without an inbound WS message.
#[cfg(any(test, feature = "wss"))] #[cfg(any(test, feature = "wss"))]
+1 -1
View File
@@ -1,7 +1,7 @@
--- ---
id: review-002-fu-doc-warnings id: review-002-fu-doc-warnings
name: Fix cargo-doc warnings (dispatch intra-doc links, byte_adapter redundant link) — restore the -D warnings doc gate name: Fix cargo-doc warnings (dispatch intra-doc links, byte_adapter redundant link) — restore the -D warnings doc gate
status: pending status: done
depends_on: [] depends_on: []
scope: single scope: single
risk: low risk: low