cyfs_bdt/tunnel/builder/
builder.rs

1use async_trait::{async_trait};
2use cyfs_base::*;
3use crate::{
4    types::*, 
5    protocol::{*, v0::*}, 
6};
7
8#[derive(PartialEq, Eq)]
9pub enum TunnelBuilderState {
10    Connecting, 
11    Establish, 
12    Closed
13}
14
15#[async_trait]
16pub trait TunnelBuilder: Send + Sync + OnPackage<AckProxy, &'static DeviceId> {
17    fn sequence(&self) -> TempSeq;
18    fn state(&self) -> TunnelBuilderState;
19    async fn wait_establish(&self) -> Result<(), BuckyError>;
20}