lots of changes
This commit is contained in:
parent
8af4ca525a
commit
3b6de6968d
24 changed files with 879 additions and 258 deletions
|
|
@ -1,6 +1,8 @@
|
|||
use cfg_if::cfg_if;
|
||||
use once_cell::sync::Lazy;
|
||||
use rnex_core::common::setup;
|
||||
use rnex_core::executables::common::{SECURE_SERVER_ACCOUNT, new_simple_backend};
|
||||
use rnex_core::executables::regular_backend;
|
||||
use rnex_core::nex::auth_handler::AuthHandler;
|
||||
use rnex_core::reggie::EdgeNodeHolderConnectOption::DontRegister;
|
||||
use rnex_core::reggie::RemoteEdgeNodeHolder;
|
||||
|
|
@ -23,25 +25,11 @@ pub static FORWARD_EDGE_NODE_HOLDER: Lazy<SocketAddrV4> = Lazy::new(|| {
|
|||
async fn main() {
|
||||
setup();
|
||||
|
||||
let conn = TcpStream::connect(&*FORWARD_EDGE_NODE_HOLDER)
|
||||
.await
|
||||
.unwrap();
|
||||
cfg_if! {
|
||||
if #[cfg(features = "friends")]{
|
||||
|
||||
let conn: SplittableBufferConnection = conn.into();
|
||||
|
||||
conn.send(DontRegister.to_data().unwrap()).await;
|
||||
|
||||
let conn = new_rmc_gateway_connection(conn, |r| {
|
||||
Arc::new(OnlyRemote::<RemoteEdgeNodeHolder>::new(r))
|
||||
});
|
||||
|
||||
new_simple_backend(move |_, _| {
|
||||
let controller = conn.clone();
|
||||
Arc::new(AuthHandler {
|
||||
destination_server_acct: &SECURE_SERVER_ACCOUNT,
|
||||
build_name: "branch:origin/project/wup-agmj build:3_8_15_2004_0",
|
||||
control_server: controller,
|
||||
})
|
||||
})
|
||||
.await;
|
||||
} else {
|
||||
regular_backend::start_regular_backend().await
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
use cfg_if::cfg_if;
|
||||
use rnex_core::common::setup;
|
||||
use rnex_core::executables::common::new_simple_backend;
|
||||
use rnex_core::executables::friends_backend::start_friends_backend;
|
||||
use rnex_core::nex::matchmake::MatchmakeManager;
|
||||
use rnex_core::nex::remote_console::RemoteConsole;
|
||||
use rnex_core::nex::user::User;
|
||||
|
|
@ -11,27 +13,11 @@ use std::sync::atomic::AtomicU32;
|
|||
async fn main() {
|
||||
setup();
|
||||
|
||||
let mmm = Arc::new(MatchmakeManager {
|
||||
//gid_counter: AtomicU32::new(1),
|
||||
sessions: Default::default(),
|
||||
users: Default::default(),
|
||||
rv_cid_counter: AtomicU32::new(1),
|
||||
});
|
||||
|
||||
let weak_mmm = Arc::downgrade(&mmm);
|
||||
|
||||
MatchmakeManager::initialize_garbage_collect_thread(weak_mmm).await;
|
||||
|
||||
new_simple_backend(move |c, r| {
|
||||
let mmm = mmm.clone();
|
||||
Arc::new_cyclic(move |this| User {
|
||||
this: this.clone(),
|
||||
ip: c.prudpsock_addr,
|
||||
pid: c.pid,
|
||||
remote: RemoteConsole::new(r),
|
||||
matchmake_manager: mmm,
|
||||
station_url: Default::default(),
|
||||
})
|
||||
})
|
||||
.await;
|
||||
cfg_if! {
|
||||
if #[cfg(feature = "friends")]{
|
||||
start_friends_backend().await;
|
||||
} else {
|
||||
regular_backend::start_regular_backend().await
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
22
rnex-core/src/executables/friends_backend.rs
Normal file
22
rnex-core/src/executables/friends_backend.rs
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
use std::sync::{Arc, atomic::AtomicU32};
|
||||
|
||||
use crate::{
|
||||
executables::common::new_simple_backend,
|
||||
nex::friends_handler::{FriendsManager, FriendsUser},
|
||||
};
|
||||
|
||||
pub async fn start_friends_backend() {
|
||||
let fm = Arc::new(FriendsManager {
|
||||
cid_counter: AtomicU32::new(1),
|
||||
});
|
||||
|
||||
new_simple_backend(move |c, r| {
|
||||
let fm = fm.clone();
|
||||
Arc::new_cyclic(move |this| FriendsUser {
|
||||
fm,
|
||||
addr: c.prudpsock_addr,
|
||||
pid: c.pid,
|
||||
})
|
||||
})
|
||||
.await;
|
||||
}
|
||||
|
|
@ -1 +1,3 @@
|
|||
pub mod common;
|
||||
pub mod common;
|
||||
pub mod friends_backend;
|
||||
pub mod regular_backend;
|
||||
|
|
|
|||
33
rnex-core/src/executables/regular_backend.rs
Normal file
33
rnex-core/src/executables/regular_backend.rs
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
use std::sync::{Arc, atomic::AtomicU32};
|
||||
|
||||
use crate::{
|
||||
executables::common::new_simple_backend,
|
||||
nex::{matchmake::MatchmakeManager, remote_console::RemoteConsole, user::User},
|
||||
rmc::protocols::RmcPureRemoteObject,
|
||||
};
|
||||
|
||||
pub async fn start_regular_backend() {
|
||||
let mmm = Arc::new(MatchmakeManager {
|
||||
//gid_counter: AtomicU32::new(1),
|
||||
sessions: Default::default(),
|
||||
users: Default::default(),
|
||||
rv_cid_counter: AtomicU32::new(1),
|
||||
});
|
||||
|
||||
let weak_mmm = Arc::downgrade(&mmm);
|
||||
|
||||
MatchmakeManager::initialize_garbage_collect_thread(weak_mmm).await;
|
||||
|
||||
new_simple_backend(move |c, r| {
|
||||
let mmm = mmm.clone();
|
||||
Arc::new_cyclic(move |this| User {
|
||||
this: this.clone(),
|
||||
ip: c.prudpsock_addr,
|
||||
pid: c.pid,
|
||||
remote: RemoteConsole::new(r),
|
||||
matchmake_manager: mmm,
|
||||
station_url: Default::default(),
|
||||
})
|
||||
})
|
||||
.await;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue