1use doip_definitions::{
2 header::DoipVersion,
3 message::{
4 AliveCheckRequest, AliveCheckResponse, DiagnosticMessage, DiagnosticMessageAck,
5 DiagnosticMessageNack, GenericNack, RoutingActivationRequest, RoutingActivationResponse,
6 },
7};
8
9use crate::SocketConfig;
10
11mod tcp_split;
12mod tcp_stream;
13mod tcp_socket;
14mod tcp_listener;
15pub use crate::tcp::tcp_split::*;
16pub use crate::tcp::tcp_stream::*;
17pub use crate::tcp::tcp_socket::*;
18pub use crate::tcp::tcp_listener::*;
19
20pub trait DoipTcpPayload {}
23
24impl DoipTcpPayload for GenericNack {}
25impl DoipTcpPayload for RoutingActivationRequest {}
26impl DoipTcpPayload for RoutingActivationResponse {}
27impl DoipTcpPayload for AliveCheckRequest {}
28impl DoipTcpPayload for AliveCheckResponse {}
29impl DoipTcpPayload for DiagnosticMessage {}
30impl DoipTcpPayload for DiagnosticMessageAck {}
31impl DoipTcpPayload for DiagnosticMessageNack {}
32
33impl Default for SocketConfig {
34 fn default() -> Self {
35 Self {
36 protocol_version: DoipVersion::DefaultValue,
37 }
38 }
39}