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
use std::net::SocketAddr;

use mork_message_derive::Message;
use serde::{Deserialize, Serialize};

use crate::Transfer;

use super::Message;

#[derive(Serialize, Deserialize, Message)]
#[message(msg_code = 2)]
pub struct IpForCode {
    pub ip: SocketAddr,
    pub file_name: String,
    pub file_len: u64,
}

impl IpForCode {
    pub fn from_transfer(transfer: Transfer) -> Self {
        Self {
            ip: transfer.file_haver,
            file_name: transfer.file_name,
            file_len: transfer.file_len,
        }
    }
}