ockam_api 0.93.0

Ockam's request-response API
use ockam::identity::Identifier;
use ockam::Result;
use ockam_abac::PolicyExpression;
use ockam_core::Route;
use ockam_multiaddr::MultiAddr;
use ockam_node::Context;
use ockam_transport_core::HostnamePort;
use std::time::Duration;

use crate::nodes::models::portal::InletStatus;
use crate::nodes::InMemoryNode;

impl InMemoryNode {
    #[allow(clippy::too_many_arguments)]
    #[instrument(skip_all)]
    pub async fn create_inlet(
        &self,
        ctx: &Context,
        listen_addr: HostnamePort,
        prefix_route: Route,
        suffix_route: Route,
        outlet_addr: MultiAddr,
        alias: String,
        policy_expression: Option<PolicyExpression>,
        wait_for_outlet_duration: Option<Duration>,
        authorized: Option<Identifier>,
        wait_connection: bool,
        secure_channel_identifier: Option<Identifier>,
        enable_udp_puncture: bool,
        disable_tcp_fallback: bool,
        privileged: bool,
        tls_certificate_provider: Option<MultiAddr>,
        skip_handshake: bool,
        enable_nagle: bool,
    ) -> Result<InletStatus> {
        self.node_manager
            .create_inlet(
                ctx,
                listen_addr.clone(),
                prefix_route.clone(),
                suffix_route.clone(),
                outlet_addr.clone(),
                alias,
                policy_expression,
                wait_for_outlet_duration,
                authorized,
                wait_connection,
                secure_channel_identifier,
                enable_udp_puncture,
                disable_tcp_fallback,
                privileged,
                tls_certificate_provider,
                skip_handshake,
                enable_nagle,
            )
            .await
    }
}