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
59c52ce0
"...libpng/svn:/svn.code.sf.net/p/irrlicht/code/trunk@2603" did not exist on "217c8a316fb6d3f2d8f6fa150ea71d7f9014dc4e"
Commit
59c52ce0
authored
Jan 10, 2026
by
nanamicat
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
af20c5e8
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
23 additions
and
23 deletions
+23
-23
src/data.rs
src/data.rs
+23
-23
No files found.
src/data.rs
View file @
59c52ce0
...
...
@@ -17,7 +17,6 @@ pub struct Router {
#[derive(Serialize,
Deserialize,
Clone)]
pub
struct
Gateway
{
pub
id
:
GatewayID
,
#[serde(deserialize_with
=
"deserialize_router_id"
,
serialize_with
=
"serialize_router_id"
)]
pub
router
:
RouterID
,
pub
cost_outbound
:
i32
,
pub
metrics
:
Vec
<
i32
>
,
...
...
@@ -32,7 +31,7 @@ pub struct GatewayGroup {
pub
include_routers
:
Vec
<
RouterID
>
,
pub
exclude_routers
:
Vec
<
RouterID
>
,
pub
children
:
Vec
<
String
>
,
pub
des
k
_mark
:
u16
,
pub
des
t
_mark
:
u16
,
}
#[derive(Serialize,
Deserialize,
Clone)]
...
...
@@ -52,7 +51,7 @@ pub enum Schema {
#[derive(Serialize,
Deserialize,
PartialEq,
Clone)]
pub
struct
Region
{}
#[derive(
Serialize,
Deserialize,
Encode,
Decode,
Clone,
Copy,
Default,
Ord,
PartialOrd,
Eq,
PartialEq,
Debug)]
#[derive(Encode,
Decode,
Clone,
Copy,
Default,
Ord,
PartialOrd,
Eq,
PartialEq,
Debug)]
pub
struct
RouterID
(
pub
u8
);
impl
Symbol
for
RouterID
{
...
...
@@ -134,26 +133,27 @@ where
data
}
fn
deserialize_router_id
<
'de
,
D
>
(
deserializer
:
D
)
->
Result
<
RouterID
,
D
::
Error
>
where
D
:
serde
::
Deserializer
<
'de
>
,
{
ROUTER_ID_REGISTRY
.get
()
.unwrap
()
.get
(
&
String
::
deserialize
(
deserializer
)
?
)
.ok_or_else
(||
serde
::
de
::
Error
::
custom
(
format!
(
"Unknown router"
)))
impl
<
'de
>
Deserialize
<
'de
>
for
RouterID
{
fn
deserialize
<
D
>
(
deserializer
:
D
)
->
Result
<
Self
,
D
::
Error
>
where
D
:
serde
::
Deserializer
<
'de
>
,
{
match
serde_json
::
Value
::
deserialize
(
deserializer
)
?
{
serde_json
::
Value
::
Number
(
n
)
=>
Ok
(
RouterID
(
n
.as_u64
()
.ok_or_else
(||
serde
::
de
::
Error
::
custom
(
"Invalid router id"
))
?
as
u8
)),
serde_json
::
Value
::
String
(
s
)
=>
match
s
.parse
::
<
u8
>
()
{
Ok
(
id
)
=>
Ok
(
RouterID
(
id
)),
Err
(
_
)
=>
ROUTER_ID_REGISTRY
.get
()
.unwrap
()
.get
(
&
s
)
.ok_or_else
(||
serde
::
de
::
Error
::
custom
(
format!
(
"Unknown router {}"
,
s
))),
},
_
=>
Err
(
serde
::
de
::
Error
::
custom
(
"Invalid router id type"
)),
}
}
}
fn
serialize_router_id
<
S
>
(
id
:
&
RouterID
,
serializer
:
S
)
->
Result
<
S
::
Ok
,
S
::
Error
>
where
S
:
serde
::
Serializer
,
{
serializer
.serialize_str
(
ROUTER_ID_REGISTRY
.get
()
.unwrap
()
.resolve
(
*
id
)
.ok_or_else
(||
serde
::
ser
::
Error
::
custom
(
format!
(
"Unknown id: {}"
,
id
.
0
)))
?
,
)
impl
Serialize
for
RouterID
{
fn
serialize
<
S
>
(
&
self
,
serializer
:
S
)
->
Result
<
S
::
Ok
,
S
::
Error
>
where
S
:
serde
::
Serializer
,
{
serializer
.serialize_u8
(
self
.
0
)
}
}
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