|
|
|
@ -3,19 +3,19 @@ use std::net; |
|
|
|
use crossbeam_channel;
|
|
|
|
use mio;
|
|
|
|
use slab;
|
|
|
|
use solstice_proto;
|
|
|
|
use solstice_proto::config;
|
|
|
|
use solstice_proto::peer;
|
|
|
|
use solstice_proto::server;
|
|
|
|
|
|
|
|
use crate::config;
|
|
|
|
use crate::control;
|
|
|
|
use crate::login::LoginStatus;
|
|
|
|
use crate::proto;
|
|
|
|
use crate::proto::peer;
|
|
|
|
use crate::proto::server;
|
|
|
|
use crate::room;
|
|
|
|
use crate::user;
|
|
|
|
|
|
|
|
#[derive(Debug)]
|
|
|
|
enum IncomingMessage {
|
|
|
|
Proto(proto::Response),
|
|
|
|
Proto(solstice_proto::Response),
|
|
|
|
|
|
|
|
#[allow(dead_code)]
|
|
|
|
ControlNotification(control::Notification),
|
|
|
|
@ -49,8 +49,8 @@ struct Peer { |
|
|
|
|
|
|
|
pub struct Client {
|
|
|
|
#[allow(deprecated)]
|
|
|
|
proto_tx: mio::deprecated::Sender<proto::Request>,
|
|
|
|
proto_rx: crossbeam_channel::Receiver<proto::Response>,
|
|
|
|
proto_tx: mio::deprecated::Sender<solstice_proto::Request>,
|
|
|
|
proto_rx: crossbeam_channel::Receiver<solstice_proto::Response>,
|
|
|
|
|
|
|
|
control_tx: Option<control::Sender>,
|
|
|
|
|
|
|
|
@ -71,8 +71,8 @@ impl Client { |
|
|
|
/// through `control_rx`.
|
|
|
|
#[allow(deprecated)]
|
|
|
|
pub fn new(
|
|
|
|
proto_tx: mio::deprecated::Sender<proto::Request>,
|
|
|
|
proto_rx: crossbeam_channel::Receiver<proto::Response>,
|
|
|
|
proto_tx: mio::deprecated::Sender<solstice_proto::Request>,
|
|
|
|
proto_rx: crossbeam_channel::Receiver<solstice_proto::Response>,
|
|
|
|
control_rx: crossbeam_channel::Receiver<control::Notification>,
|
|
|
|
) -> Self {
|
|
|
|
Client {
|
|
|
|
@ -141,7 +141,7 @@ impl Client { |
|
|
|
#[allow(deprecated)]
|
|
|
|
self
|
|
|
|
.proto_tx
|
|
|
|
.send(proto::Request::ServerRequest(request))
|
|
|
|
.send(solstice_proto::Request::ServerRequest(request))
|
|
|
|
.unwrap();
|
|
|
|
}
|
|
|
|
|
|
|
|
@ -150,7 +150,7 @@ impl Client { |
|
|
|
#[allow(deprecated)]
|
|
|
|
self
|
|
|
|
.proto_tx
|
|
|
|
.send(proto::Request::PeerMessage(peer_id, message))
|
|
|
|
.send(solstice_proto::Request::PeerMessage(peer_id, message))
|
|
|
|
.unwrap();
|
|
|
|
}
|
|
|
|
|
|
|
|
@ -327,17 +327,17 @@ impl Client { |
|
|
|
* PROTO RESPONSE HANDLING *
|
|
|
|
*=========================*/
|
|
|
|
|
|
|
|
fn handle_proto_response(&mut self, response: proto::Response) {
|
|
|
|
fn handle_proto_response(&mut self, response: solstice_proto::Response) {
|
|
|
|
match response {
|
|
|
|
proto::Response::ServerResponse(server_response) => {
|
|
|
|
solstice_proto::Response::ServerResponse(server_response) => {
|
|
|
|
self.handle_server_response(server_response)
|
|
|
|
}
|
|
|
|
|
|
|
|
proto::Response::PeerConnectionOpen(peer_id) => {
|
|
|
|
solstice_proto::Response::PeerConnectionOpen(peer_id) => {
|
|
|
|
self.handle_peer_connection_open(peer_id)
|
|
|
|
}
|
|
|
|
|
|
|
|
proto::Response::PeerConnectionClosed(peer_id) => {
|
|
|
|
solstice_proto::Response::PeerConnectionClosed(peer_id) => {
|
|
|
|
self.handle_peer_connection_closed(peer_id)
|
|
|
|
}
|
|
|
|
|
|
|
|
@ -383,7 +383,7 @@ impl Client { |
|
|
|
#[allow(deprecated)]
|
|
|
|
self
|
|
|
|
.proto_tx
|
|
|
|
.send(proto::Request::ServerRequest(
|
|
|
|
.send(solstice_proto::Request::ServerRequest(
|
|
|
|
server::ConnectToPeerRequest {
|
|
|
|
token: peer.token,
|
|
|
|
user_name: peer.user_name.clone(),
|
|
|
|
@ -404,7 +404,7 @@ impl Client { |
|
|
|
#[allow(deprecated)]
|
|
|
|
self
|
|
|
|
.proto_tx
|
|
|
|
.send(proto::Request::ServerRequest(
|
|
|
|
.send(solstice_proto::Request::ServerRequest(
|
|
|
|
server::CannotConnectRequest {
|
|
|
|
token: peer.token,
|
|
|
|
user_name: peer.user_name,
|
|
|
|
@ -568,7 +568,7 @@ impl Client { |
|
|
|
#[allow(deprecated)]
|
|
|
|
self
|
|
|
|
.proto_tx
|
|
|
|
.send(proto::Request::PeerConnect(
|
|
|
|
.send(solstice_proto::Request::PeerConnect(
|
|
|
|
peer_id,
|
|
|
|
response.ip,
|
|
|
|
response.port,
|
|
|
|
|