use std::marker::PhantomData; use getset::Getters; use crate::transport::{receiver::PacketReceiver, sender::PacketSender}; #[derive(Getters)] pub struct Connection where Uid: PartialEq, S: PacketSender + Clone, R: PacketReceiver, { #[get = "pub"] sender: S, #[get = "pub"] receiver: R, _uid: PhantomData, _data: PhantomData, } impl Connection where Uid: PartialEq, S: PacketSender + Clone, R: PacketReceiver, { pub fn new(sender: S, receiver: R) -> Self { Self { sender, receiver, _uid: PhantomData, _data: PhantomData, } } }