message_io/adapters/
template.rs1#![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}