message_io/adapters/
template.rs

1#![allow(unused_variables)]
2
3use crate::network::adapter::{
4    Resource, Remote, Local, Adapter, SendStatus, AcceptedType, ReadStatus, ConnectionInfo,
5    ListeningInfo, PendingStatus,
6};
7use crate::network::{RemoteAddr, Readiness, TransportConnect, TransportListen};
8
9use mio::event::{Source};
10
11use std::net::{SocketAddr};
12use std::io::{self};
13
14pub(crate) struct MyAdapter;
15impl Adapter for MyAdapter {
16    type Remote = RemoteResource;
17    type Local = LocalResource;
18}
19
20pub(crate) struct RemoteResource;
21impl Resource for RemoteResource {
22    fn source(&mut self) -> &mut dyn Source {
23        todo!()
24    }
25}
26
27impl Remote for RemoteResource {
28    fn connect_with(
29        config: TransportConnect,
30        remote_addr: RemoteAddr,
31    ) -> io::Result<ConnectionInfo<Self>> {
32        todo!()
33    }
34
35    fn receive(&self, process_data: impl FnMut(&[u8])) -> ReadStatus {
36        todo!()
37    }
38
39    fn send(&self, data: &[u8]) -> SendStatus {
40        todo!()
41    }
42
43    fn pending(&self, _readiness: Readiness) -> PendingStatus {
44        todo!()
45    }
46}
47
48pub(crate) struct LocalResource;
49impl Resource for LocalResource {
50    fn source(&mut self) -> &mut dyn Source {
51        todo!()
52    }
53}
54
55impl Local for LocalResource {
56    type Remote = RemoteResource;
57
58    fn listen_with(config: TransportListen, addr: SocketAddr) -> io::Result<ListeningInfo<Self>> {
59        todo!()
60    }
61
62    fn accept(&self, accept_remote: impl FnMut(AcceptedType<'_, Self::Remote>)) {
63        todo!()
64    }
65}