remove node holders and general repo cleanup
Some checks failed
Build and Test / terraria (push) Failing after 4m42s
Build and Test / minecraft-wiiu (push) Failing after 4m44s
Build and Test / splatoon-testfire (push) Failing after 4m45s
Build and Test / mario-tennis (push) Successful in 4m48s
Build and Test / sonic-transformed (push) Failing after 4m54s
Build and Test / friends (push) Failing after 4m56s
Build and Test / splatoon (push) Failing after 4m56s
Build and Test / fast-racing-neo (push) Failing after 4m58s
Build and Test / wii-u-chat (push) Failing after 4m58s
Build and Test / super-mario-maker (push) Failing after 5m2s
Build and Test / puyopuyo (push) Failing after 5m8s
Build and Test / wii-sports-club (push) Failing after 5m9s

the node holders were just causing issues, we have no need for them currently, so we can just set the secure proxy URL through FORWARD_DESTINATION. less complexity for the cluster and self-hosters too
This commit is contained in:
red binder 2026-08-09 17:29:06 +02:00
commit aaf9bc4b65
31 changed files with 51 additions and 574 deletions

View file

@ -11,7 +11,6 @@ thiserror = "2.0.12"
rnex-prudp = { path = "../rnex-prudp" }
rnex-server = { path = "../rnex-server" }
rnex-util = { path = "../rnex-util" }
rnex-reggie-protos = { path = "../rnex-protocols/reggie-protos" }
rnex-rmc = { path = "../rnex-rmc" }
tokio = { version = "1.47.0", features = ["full"] }
hex = "0.4.3"

View file

@ -1,8 +1,7 @@
use rnex_prudp::{socket_addr::PRUDPSockAddr, virtual_port::VirtualPort};
use rnex_reggie_protos::reggie::{EdgeNodeHolderConnectOption, RemoteEdgeNodeHolder};
use rnex_rmc::{
RemoteDisconnectable, RmcCallable, RmcConnection, RmcPureRemoteObject,
new_rmc_gateway_connection, serialization::RmcSerialize,
serialization::RmcSerialize,
};
use rnex_server::{ConnectionInitData, try_get_ip};
use rnex_util::{PID, SendingBufferConnection, SplittableBufferConnection, UnitPacketWrite};
@ -13,7 +12,7 @@ use std::{
ops::Deref,
panic,
str::FromStr,
sync::{Arc, LazyLock},
sync::LazyLock,
};
use thiserror::Error;
use tokio::net::TcpStream;
@ -120,6 +119,7 @@ impl<T: RemoteDisconnectable, C: FnOnce() + Send + Sync + 'static> Deref for OnR
impl<T: RemoteDisconnectable + RmcPureRemoteObject, C: FnOnce() + Send + Sync + 'static>
OnRemoteDrop<T, C>
{
#[allow(dead_code)]
pub fn new(conn: RmcConnection, drop_func: C) -> Self {
Self(T::new(conn), Some(drop_func))
}
@ -152,34 +152,6 @@ impl<T: RemoteDisconnectable, C: FnOnce() + Send + Sync + 'static> Drop for OnRe
}
}
pub async fn setup_edge_node_connection(
param: &ProxyStartupParam,
shutdown_callback: impl FnOnce() + Send + Sync + 'static,
) {
let conn = tokio::net::TcpStream::connect(&param.edge_node_holder)
.await
.unwrap();
let conn: SplittableBufferConnection = conn.into();
conn.send(
EdgeNodeHolderConnectOption::Register(param.self_public)
.to_data()
.unwrap(),
)
.await;
println!("{:?}", param.self_public);
//leave the inner object floating so that it gets destroyed once we disconnect
new_rmc_gateway_connection(conn, async move |r| {
Arc::new(OnRemoteDrop::<RemoteEdgeNodeHolder, _>::new(
r,
shutdown_callback,
))
})
.await;
}
pub async fn new_backend_connection(
param: &ProxyStartupParam,
addr: PRUDPSockAddr,