Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
R
railgun-routing-server
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Railgun
railgun-routing-server
Commits
10241602
Commit
10241602
authored
Jan 10, 2026
by
nanamicat
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
clean
parent
d6099740
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
5 additions
and
6 deletions
+5
-6
src/main.rs
src/main.rs
+1
-1
src/router.rs
src/router.rs
+4
-5
No files found.
src/main.rs
View file @
10241602
use
crate
::
api
::
create_app
;
use
crate
::
api
::
create_app
;
use
crate
::
data
::{
DATABASE
,
GatewayGroupID
,
R
egionID
,
R
outerID
};
use
crate
::
data
::{
DATABASE
,
GatewayGroupID
,
RouterID
};
use
crate
::
protocol
::{
Downlink
,
Uplink
};
use
crate
::
protocol
::{
Downlink
,
Uplink
};
use
crate
::
router
::
Router
;
use
crate
::
router
::
Router
;
use
crate
::
settings
::{
Settings
,
TIMEOUT
};
use
crate
::
settings
::{
Settings
,
TIMEOUT
};
...
...
src/router.rs
View file @
10241602
...
@@ -179,15 +179,14 @@ impl Router {
...
@@ -179,15 +179,14 @@ impl Router {
}
}
// Plan updates (Gateways)
// Plan updates (Gateways)
for
(
r
,
_
)
in
DATABASE
.regions
.iter
()
.enumerate
()
{
for
(
region_id
,
plan
)
in
&
self
.plan
{
let
region_id
=
RegionID
(
r
as
u8
);
for
(
&
gid
,
gateways
)
in
gateway_groups
{
for
(
&
gid
,
gateways
)
in
gateway_groups
{
let
current_gw
=
self
.plan
[
&
region_id
]
[
&
gid
];
let
current_gw
=
plan
[
&
gid
];
let
current_metric
=
metrics
[
&
DATABASE
.gateways
.iter
()
.find
(|
f
|
f
.id
==
current_gw
)
.unwrap
()
.router
];
let
current_metric
=
metrics
[
&
DATABASE
.gateways
.iter
()
.find
(|
f
|
f
.id
==
current_gw
)
.unwrap
()
.router
];
let
(
best_gw
,
best_metric
)
=
gateways
let
(
best_gw
,
best_metric
)
=
gateways
.iter
()
.iter
()
.map
(|
g
|
(
g
,
metrics
[
&
g
.router
]
.saturating_add
(
g
.cost_outbound
)
.saturating_add
(
g
.metrics
[
r
])))
.map
(|
g
|
(
g
,
metrics
[
&
g
.router
]
.saturating_add
(
g
.cost_outbound
)
.saturating_add
(
g
.metrics
[
r
egion_id
.
0
as
usize
])))
.min_by_key
(|(
_
,
m
)|
*
m
)
.min_by_key
(|(
_
,
m
)|
*
m
)
.unwrap
();
.unwrap
();
...
@@ -195,7 +194,7 @@ impl Router {
...
@@ -195,7 +194,7 @@ impl Router {
if
best_metric
.saturating_add
(
penalty
)
<
current_metric
{
if
best_metric
.saturating_add
(
penalty
)
<
current_metric
{
overcome
=
true
;
overcome
=
true
;
}
}
changed_plan
.entry
(
region_id
)
.or_insert_with
(
BTreeMap
::
new
)
.insert
(
gid
,
best_gw
.id
);
changed_plan
.entry
(
*
region_id
)
.or_insert_with
(
BTreeMap
::
new
)
.insert
(
gid
,
best_gw
.id
);
}
}
}
}
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment