- update: packet server character handler
- add: character grpc client interface to packet service
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
fn main() {
|
||||
// gRPC Client code
|
||||
tonic_build::configure()
|
||||
.build_server(false) // Generate gRPC client code
|
||||
.build_server(false) // Generate gRPC server code?
|
||||
.compile_well_known_types(true)
|
||||
.type_attribute(".", "#[derive(serde::Serialize, serde::Deserialize)]")
|
||||
.compile_protos(&["../proto/auth.proto"], &["../proto"])
|
||||
.compile_protos(&["../proto/auth.proto", "../proto/character.proto"], &["../proto"])
|
||||
.unwrap_or_else(|e| panic!("Failed to compile protos {:?}", e));
|
||||
}
|
||||
|
||||
@@ -26,11 +26,13 @@ pub(crate) async fn handle_char_list_req(stream: &mut TcpStream, packet: Packet,
|
||||
debug!("{:?}", request);
|
||||
|
||||
let mut user_id = 0;
|
||||
let session_id;
|
||||
if let Some(mut state) = connection_service.get_connection(&connection_id) {
|
||||
user_id = state.user_id.expect("Missing user id in connection");
|
||||
user_id = state.user_id.expect("Missing user id in connection state");
|
||||
session_id = state.session_id.expect("Missing session id in connection state");
|
||||
}
|
||||
|
||||
// query the database for the character to this user
|
||||
// query the character service for the character list for this user
|
||||
|
||||
let data = SrvCharListReply { characters: vec![] };
|
||||
let response_packet = Packet::new(PacketType::PakccCharListReply, &data)?;
|
||||
@@ -43,10 +45,12 @@ pub(crate) async fn handle_create_char_req(stream: &mut TcpStream, packet: Packe
|
||||
let request = CliCreateCharReq::decode(packet.payload.as_slice())?;
|
||||
debug!("{:?}", request);
|
||||
|
||||
// if let Some(mut state) = connection_service.get_connection(&connection_id) {
|
||||
// // state.user_id = Some(response.user_id.parse().unwrap());
|
||||
// // state.session_id = Some(response.session_id);
|
||||
// }
|
||||
let session_id;
|
||||
if let Some(mut state) = connection_service.get_connection(&connection_id) {
|
||||
session_id = state.session_id.expect("Missing session id in connection state");
|
||||
}
|
||||
|
||||
// send the data to the character service to create the character
|
||||
|
||||
let data = SrvCreateCharReply { result: srv_create_char_reply::Result::Ok, platininum: 0 };
|
||||
let response_packet = Packet::new(PacketType::PakccCreateCharReply, &data)?;
|
||||
@@ -59,10 +63,12 @@ pub(crate) async fn handle_delete_char_req(stream: &mut TcpStream, packet: Packe
|
||||
let request = CliDeleteCharReq::decode(packet.payload.as_slice())?;
|
||||
debug!("{:?}", request);
|
||||
|
||||
let session_id;
|
||||
if let Some(mut state) = connection_service.get_connection(&connection_id) {
|
||||
// state.user_id = Some(response.user_id.parse().unwrap());
|
||||
// state.session_id = Some(response.session_id);
|
||||
session_id = state.session_id.expect("Missing session id in connection state");
|
||||
}
|
||||
|
||||
// character_client.set_delete_character(request.is_delete, request.char_id, request.name);
|
||||
|
||||
let character_name = request.name;
|
||||
let data = SrvDeleteCharReply { remaining_time: 0, name: character_name };
|
||||
@@ -77,8 +83,6 @@ pub(crate) async fn handle_select_char_req(stream: &mut TcpStream, packet: Packe
|
||||
debug!("{:?}", request);
|
||||
|
||||
if let Some(mut state) = connection_service.get_connection_mut(&connection_id) {
|
||||
// state.user_id = Some(response.user_id.parse().unwrap());
|
||||
// state.session_id = Some(response.session_id);
|
||||
state.character_id = Some(request.char_id as i8);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user