Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
R
railgun-routing-client
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-client
Commits
30181305
Commit
30181305
authored
Dec 21, 2025
by
nanamicat
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
server addr
parent
1d451f3e
Pipeline
#42104
passed with stages
in 2 minutes and 51 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
7 additions
and
5 deletions
+7
-5
src/main.rs
src/main.rs
+7
-5
No files found.
src/main.rs
View file @
30181305
...
...
@@ -49,12 +49,14 @@ async fn main() -> anyhow::Result<()> {
let
resolver
=
Resolver
::
builder_tokio
()
?
.build
();
loop
{
let
server_addr
=
config
.server
.to_socket_addrs
(
&
resolver
)
.await
?
;
tokio
::
select!
{
biased
;
// 优先处理上面的
result
=
socket
.recv_from
(
&
mut
buf
)
=>
{
let
(
len
,
src
)
=
result
?
;
if
src
.port
()
==
config
.server.port
{
let
(
len
,
addr
)
=
result
?
;
if
addr
==
server_addr
{
// from server
let
(
message
,
_
):
(
Change
,
usize
)
=
bincode
::
decode_from_slice
(
&
buf
[
..
len
],
bincode
::
config
::
standard
())
?
;
server
.on_message
(
&
message
);
...
...
@@ -65,9 +67,9 @@ async fn main() -> anyhow::Result<()> {
peers
:
Vec
::
new
()
};
let
message
=
bincode
::
encode_to_vec
(
&
report
,
bincode
::
config
::
standard
())
?
;
let
_
=
socket
.send_to
(
message
.as_slice
(),
config
.server
.to_socket_addrs
(
&
resolver
)
.await
?
)
.await
;
let
_
=
socket
.send_to
(
message
.as_slice
(),
server_addr
)
.await
;
syn
=
false
;
}
else
if
let
Some
(
peer
)
=
Router
::
get
(
&
mut
routers
,
src
){
}
else
if
let
Some
(
peer
)
=
Router
::
get
(
&
mut
routers
,
addr
){
// from client
let
(
message
,
_
):
(
Hello
,
usize
)
=
bincode
::
decode_from_slice
(
&
buf
[
..
len
],
bincode
::
config
::
standard
())
?
;
peer
.on_message
(
&
message
);
...
...
@@ -95,7 +97,7 @@ async fn main() -> anyhow::Result<()> {
.collect
(),
};
let
len
=
bincode
::
encode_into_slice
(
&
report
,
&
mut
buf
,
bincode
::
config
::
standard
())
?
;
let
_
=
socket
.send_to
(
&
buf
[
..
len
],
config
.server
.to_socket_addrs
(
&
resolver
)
.await
?
)
.await
;
let
_
=
socket
.send_to
(
&
buf
[
..
len
],
server_addr
)
.await
;
}
}
}
...
...
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