dap.rs

 1pub mod adapters;
 2pub mod client;
 3pub mod debugger_settings;
 4pub mod inline_value;
 5pub mod proto_conversions;
 6mod registry;
 7pub mod transport;
 8
 9use std::net::Ipv4Addr;
10
11pub use dap_types::*;
12pub use registry::{DapLocator, DapRegistry};
13pub use task::DebugRequest;
14
15pub type ScopeId = u64;
16pub type VariableReference = u64;
17pub type StackFrameId = u64;
18
19#[cfg(any(test, feature = "test-support"))]
20pub use adapters::FakeAdapter;
21use task::TcpArgumentsTemplate;
22
23pub async fn configure_tcp_connection(
24    tcp_connection: TcpArgumentsTemplate,
25) -> anyhow::Result<(Ipv4Addr, u16, Option<u64>)> {
26    let host = tcp_connection.host();
27    let timeout = tcp_connection.timeout;
28
29    let port = if let Some(port) = tcp_connection.port {
30        port
31    } else {
32        transport::TcpTransport::port(&tcp_connection).await?
33    };
34
35    Ok((host, port, timeout))
36}