Split server and client msgs in libbonknet

This commit is contained in:
2024-02-23 13:40:32 +01:00
parent 0d39ea71c7
commit 88aeb25fdf
7 changed files with 157 additions and 139 deletions

View File

@@ -1,14 +1,15 @@
use std::io::{Error, ErrorKind};
use std::sync::Arc;
use futures::{StreamExt, SinkExt};
use futures::{SinkExt, StreamExt};
use tokio::net::TcpStream;
use tokio_rustls::rustls::{ClientConfig, RootCertStore};
use tokio_rustls::rustls::pki_types::{ServerName, CertificateDer, PrivatePkcs8KeyDer};
use tokio_rustls::rustls::pki_types::{CertificateDer, PrivatePkcs8KeyDer, ServerName};
use tokio_rustls::TlsConnector;
use tokio_util::codec::{Framed, LengthDelimitedCodec};
use libbonknet::*;
use libbonknet::servermsg::*;
use uuid::Uuid;
use tracing::{info, error};
use tracing::{error, info};
async fn datastream(tlsconfig: Arc<ClientConfig>, conn_id: Uuid) -> std::io::Result<()> {
@@ -123,7 +124,8 @@ async fn main() -> std::io::Result<()> {
}
Some(item) => match item {
Ok(buf) => {
use ToGuestServerMessage::*;
use libbonknet::servermsg::{okannounce_to_cert, ToGuestServerMessage};
use libbonknet::servermsg::ToGuestServerMessage::*;
let msg: ToGuestServerMessage = rmp_serde::from_slice(&buf).unwrap();
info!("{:?}", msg);
match msg {
@@ -164,7 +166,8 @@ async fn main() -> std::io::Result<()> {
}
Some(item) => match item {
Ok(buf) => {
use ToServerConnTypeReply::*;
use libbonknet::servermsg::ToServerConnTypeReply;
use libbonknet::servermsg::ToServerConnTypeReply::*;
let msg: ToServerConnTypeReply = rmp_serde::from_slice(&buf).unwrap();
info!("{:?}", msg);
match msg {
@@ -193,7 +196,8 @@ async fn main() -> std::io::Result<()> {
}
Some(item) => match item {
Ok(buf) => {
use ToServerCommandReply::*;
use libbonknet::servermsg::ToServerCommandReply;
use libbonknet::servermsg::ToServerCommandReply::*;
let msg: ToServerCommandReply = rmp_serde::from_slice(&buf).unwrap();
info!("{:?}", msg);
match msg {
@@ -229,7 +233,8 @@ async fn main() -> std::io::Result<()> {
}
Some(item) => match item {
Ok(buf) => {
use ToServerConnTypeReply::*;
use libbonknet::servermsg::ToServerConnTypeReply;
use libbonknet::servermsg::ToServerConnTypeReply::*;
let msg: ToServerConnTypeReply = rmp_serde::from_slice(&buf).unwrap();
info!("{:?}", msg);
match msg {
@@ -259,11 +264,13 @@ async fn main() -> std::io::Result<()> {
let mut out: Option<FromServerReply> = None;
match item {
Ok(buf) => {
use ToServerMessage::*;
use libbonknet::servermsg::ToServerMessage;
use libbonknet::servermsg::ToServerMessage::*;
let msg: ToServerMessage = rmp_serde::from_slice(&buf).unwrap();
match msg {
Msg { reply_id, body } => {
use ToServerMessageBody::*;
use libbonknet::servermsg::FromServerReplyBody;
use libbonknet::servermsg::ToServerMessageBody::*;
match body {
Request { conn_id } => {
info!("I'm required with Connection ID {}", conn_id);