1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
use event::AgentServerEvent;
use tokio::sync::mpsc::Sender;
use tracing::error;

mod codec;
mod command;
pub mod config;
mod crypto;
pub mod error;
pub mod event;
pub mod log;
mod proxy;
pub mod server;
mod transport;

pub const SOCKS_V5: u8 = 5;
pub const SOCKS_V4: u8 = 4;

pub async fn publish_server_event(
    server_event_tx: &Sender<AgentServerEvent>,
    event: AgentServerEvent,
) {
    if server_event_tx.is_closed() {
        return;
    }
    if let Err(e) = server_event_tx.send(event).await {
        error!("Fail to publish server event because of error: {e:?}");
    }
}