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
83b41c06
Commit
83b41c06
authored
Aug 18, 2021
by
神楽坂玲奈
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
test
parent
70599466
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
14 additions
and
11 deletions
+14
-11
protocol.ts
protocol.ts
+2
-2
src/Peer.ts
src/Peer.ts
+2
-2
src/RouteWriter.ts
src/RouteWriter.ts
+2
-2
src/Server.ts
src/Server.ts
+5
-2
src/main.ts
src/main.ts
+3
-3
No files found.
protocol.ts
View file @
83b41c06
...
...
@@ -16,8 +16,8 @@ export interface UploadMessage {
// 中心服务器向路由器发送的消息
export
interface
DownloadMessage
{
seq
:
number
,
to
:
number
,
via
:
number
;
via
:
Record
<
number
,
number
>
,
plan
:
Record
<
number
,
number
>
}
// 路由器向路由器发送的消息
...
...
src/Peer.ts
View file @
83b41c06
...
...
@@ -31,7 +31,7 @@ export class Peer implements PeerMessage, PeerQuality, RouterConfig {
onMessage
(
data
:
PeerMessage
)
{
// console.log(data);
if
(
data
.
seq
==
0
||
data
.
seq
<
this
.
seq
-
config
.
timeout
||
data
.
seq
>
this
.
seq
+
config
.
timeout
)
{
if
(
data
.
seq
==
=
0
||
data
.
seq
<
this
.
seq
-
config
.
timeout
||
data
.
seq
>
this
.
seq
+
config
.
timeout
)
{
// 收到 seq = 0 或 seq 与之前差距较大,就 reset
this
.
reset
();
}
else
if
(
data
.
seq
<=
this
.
seq
)
{
...
...
@@ -51,7 +51,7 @@ export class Peer implements PeerMessage, PeerQuality, RouterConfig {
}
update
(
time
:
number
)
{
if
(
this
.
reliability
==
0
)
{
if
(
this
.
reliability
==
=
0
)
{
return
;
}
// 有几个包没到
...
...
src/RouteWriter.ts
View file @
83b41c06
...
...
@@ -12,8 +12,8 @@ export class RouteWriter {
static
set
(
toId
:
number
,
viaId
:
number
)
{
console
.
log
(
toId
,
viaId
);
const
to
=
routers
.
find
(
r
=>
r
.
id
==
toId
);
const
via
=
routers
.
find
(
r
=>
r
.
id
==
viaId
);
const
to
=
routers
.
find
(
r
=>
r
.
id
==
=
toId
);
const
via
=
routers
.
find
(
r
=>
r
.
id
==
=
viaId
);
for
(
const
address
of
[
to
.
address
,
...
to
.
subnets
])
{
console
.
log
(
`route replace
${
address
}
dev
${
via
.
interface
}
`
);
}
...
...
src/Server.ts
View file @
83b41c06
...
...
@@ -10,7 +10,7 @@ export class Server {
ack
=
0
;
onMessage
(
socket
:
Socket
,
message
:
DownloadMessage
,
self
:
PeerMessage
)
{
if
(
message
.
seq
&&
this
.
ack
!=
message
.
seq
)
{
if
(
message
.
seq
&&
this
.
ack
!=
=
message
.
seq
)
{
return
;
}
...
...
@@ -18,7 +18,10 @@ export class Server {
RouteWriter
.
reset
();
}
RouteWriter
.
set
(
message
.
to
,
message
.
via
);
for
(
const
[
to
,
via
]
of
Object
.
entries
(
message
.
via
))
{
RouteWriter
.
set
(
parseInt
(
to
),
via
);
}
this
.
ack
=
message
.
seq
+
1
;
const
response
:
UploadMessage
=
{
...
...
src/main.ts
View file @
83b41c06
...
...
@@ -18,7 +18,7 @@ const socket = dgram
})
.
on
(
'
message
'
,
(
msg
,
rinfo
)
=>
{
try
{
if
(
rinfo
.
address
==
config
.
server_address
&&
rinfo
.
port
==
config
.
server_port
)
{
if
(
rinfo
.
address
==
=
config
.
server_address
&&
rinfo
.
port
=
==
config
.
server_port
)
{
// from server
const
message
:
DownloadMessage
=
JSON
.
parse
(
msg
.
toString
());
server
.
onMessage
(
socket
,
message
,
self
);
...
...
@@ -27,7 +27,7 @@ const socket = dgram
const
message
:
PeerMessage
=
JSON
.
parse
(
msg
.
toString
());
assert
(
message
.
id
);
const
peer
=
peers
.
find
(
p
=>
p
.
id
===
message
.
id
);
assert
(
peer
&&
rinfo
.
address
==
peer
.
address
&&
rinfo
.
port
==
config
.
port
);
assert
(
peer
&&
rinfo
.
address
==
=
peer
.
address
&&
rinfo
.
port
=
==
config
.
port
);
peer
.
onMessage
(
message
);
}
}
catch
(
e
)
{
...
...
@@ -35,7 +35,7 @@ const socket = dgram
}
});
socket
.
bind
(
config
.
port
,
routers
.
find
(
r
=>
r
.
id
==
self
.
id
).
address
);
socket
.
bind
(
config
.
port
,
routers
.
find
(
r
=>
r
.
id
==
=
self
.
id
).
address
);
setInterval
(()
=>
{
self
.
time
=
Date
.
now
();
...
...
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