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 crate::error::ProtocolError;
use crate::make_as_bytes;
use crate::message::values::address::PpaassUnifiedAddress;
use bytes::Bytes;
use derive_more::Constructor;
use serde_derive::{Deserialize, Serialize};

make_as_bytes! {
    #[derive(Serialize, Deserialize, Debug)]
    enum AgentUdpPayload {
        Init {
            bind_port: u16
        },
        Data {
            src_address: PpaassUnifiedAddress,
            dst_address: PpaassUnifiedAddress,
            data: Bytes,
        }
    }
}

make_as_bytes! {
    #[derive(Serialize, Deserialize, Debug, Constructor)]
    struct ProxyUdpPayload {
        src_address: PpaassUnifiedAddress,
        dst_address: PpaassUnifiedAddress,
        data: Bytes,
    }
}