Skip to content

GatewayListener

Functions

  • bound_endpoint - Return the address this listener is actually bound to.
  • serve_forever - Accept and serve secret.resolve / secret.push connections

firma_secret_provider::gateway::server::GatewayListener::bound_endpoint

Section titled “firma_secret_provider::gateway::server::GatewayListener::bound_endpoint”

Function

Return the address this listener is actually bound to.

Returns an error if the OS cannot report the local address.

fn bound_endpoint(self: &Self) -> io::Result<EndpointInner>

firma_secret_provider::gateway::server::GatewayListener::serve_forever

Section titled “firma_secret_provider::gateway::server::GatewayListener::serve_forever”

Function

Accept and serve secret.resolve / secret.push connections indefinitely.

Each connection is dispatched on a dedicated task whose whole exchange is bounded by [GatewayConfig::operation_timeout]; on Unix the accepted peer’s credentials are validated before the request is read. The loop exits when the listener hits a non-transient accept error; transient errors (e.g. hitting the file-descriptor limit) are retried with a short backoff. Consumes the listener, whose Drop removes the socket file when the loop ends or the task is dropped.

fn serve_forever(self: Self, store: Arc<RwLock<SecretStore>>)