scatter_net/legacy/interaction/methods/
init.rs1use 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}