scatter_net/legacy/interaction/methods/
init.rs

1use std::collections::VecDeque;
2
3use iroh::endpoint::{RecvStream, SendStream};
4use ps_buffer::Buffer;
5use tokio::sync::Mutex;
6
7use crate::{Interaction, InteractionInnerReadonly, InteractionInnerWritable, Peer};
8
9impl Interaction {
10    #[must_use]
11    pub fn init(peer: Peer, recv_stream: RecvStream, send_stream: SendStream) -> Self {
12        Self::from_inner(
13            InteractionInnerReadonly {
14                peer,
15                recv_stream: Mutex::new(recv_stream),
16                send_stream: Mutex::new(send_stream),
17            },
18            InteractionInnerWritable {
19                buffer: Buffer::default(),
20                closed: false,
21                packets: VecDeque::new(),
22            },
23        )
24    }
25}