p2p2 0.25.0 → 0.26.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/p2p2/p1_worker.rb +5 -4
- data/lib/p2p2/p2_worker.rb +5 -4
- data/lib/p2p2/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8b794e3b18c3c83d28013dc743181bd0f72ff9dc1c692266f68d360ebcc3855b
|
4
|
+
data.tar.gz: 99ff62c980d909c10d412f076d7aac4e81afe195a824c7fd36b6ac78b2c7e777
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b6cf3c77031cf3f53d1f8f884daca762140f68ff40c2538618058a2ffa8747d8c722069e432c02b3165ee3451545c82cd43177ba38e80218459c91b5a37bd978
|
7
|
+
data.tar.gz: 177432a07d6976627d629658dd8e61ac105d538225e43af30842fe05d4378abfd2be28d47b4c2616a0e733b80228a6badcf33f21c9464cfe5ff3ce78a0c16d2a
|
data/lib/p2p2/p1_worker.rb
CHANGED
@@ -90,7 +90,7 @@ module P2p2
|
|
90
90
|
now = Time.new
|
91
91
|
|
92
92
|
unless @tund.closed?
|
93
|
-
if @tund_info[ :peer_addr ]
|
93
|
+
if @tund_info[ :peer_addr ] && @tund_info[ :peer_at ]
|
94
94
|
if @tund_info[ :tun_addr ]
|
95
95
|
if now - check_at >= CHECK_EXPIRE_INTERVAL
|
96
96
|
if now - @tund_info[ :last_recv_at ] > EXPIRE_AFTER
|
@@ -118,8 +118,7 @@ module P2p2
|
|
118
118
|
# puts "debug2 heartbeat"
|
119
119
|
add_tund_ctlmsg( pack_a_heartbeat )
|
120
120
|
next_tick
|
121
|
-
elsif now - @tund_info[ :
|
122
|
-
# no tun addr
|
121
|
+
elsif now - @tund_info[ :peer_at ] > EXPIRE_NEW
|
123
122
|
puts "#{ Time.new } expire new tund"
|
124
123
|
set_is_closing( @tund )
|
125
124
|
next_tick
|
@@ -221,7 +220,8 @@ module P2p2
|
|
221
220
|
caches: [], # 块读出缓存 [ dst_local_port, pack_id, data ]
|
222
221
|
chunks: [], # 块队列 filename
|
223
222
|
spring: 0, # 块后缀,结块时,如果块队列不为空,则自增,为空,则置为0
|
224
|
-
peer_addr: nil, #
|
223
|
+
peer_addr: nil, # 配对地址
|
224
|
+
peer_at: nil, # 收到配对地址时间
|
225
225
|
tun_addr: nil, # 连通后的tun地址
|
226
226
|
dst_exts: {}, # dst额外信息 dst_local_port => {}
|
227
227
|
dst_local_ports: {}, # src_id => dst_local_port
|
@@ -706,6 +706,7 @@ module P2p2
|
|
706
706
|
puts "#{ Time.new } got peer addr #{ Addrinfo.new( peer_addr ).inspect }"
|
707
707
|
|
708
708
|
@tund_info[ :peer_addr ] = peer_addr
|
709
|
+
@tund_info[ :peer_at ] = now
|
709
710
|
loop_punch_peer
|
710
711
|
when HEARTBEAT
|
711
712
|
from_addr = addrinfo.to_sockaddr
|
data/lib/p2p2/p2_worker.rb
CHANGED
@@ -91,7 +91,7 @@ module P2p2
|
|
91
91
|
@mutex.synchronize do
|
92
92
|
now = Time.new
|
93
93
|
|
94
|
-
if @tun && !@tun.closed? && @tun_info[ :peer_addr ]
|
94
|
+
if @tun && !@tun.closed? && @tun_info[ :peer_addr ] && @tun_info[ :peer_at ]
|
95
95
|
if @tun_info[ :tund_addr ]
|
96
96
|
if now - check_at >= CHECK_EXPIRE_INTERVAL
|
97
97
|
if now - @tun_info[ :last_recv_at ] > EXPIRE_AFTER
|
@@ -119,8 +119,7 @@ module P2p2
|
|
119
119
|
# puts "debug2 heartbeat"
|
120
120
|
add_tun_ctlmsg( pack_a_heartbeat )
|
121
121
|
next_tick
|
122
|
-
elsif now - @tun_info[ :
|
123
|
-
# no tund addr
|
122
|
+
elsif now - @tun_info[ :peer_at ] > EXPIRE_NEW
|
124
123
|
puts "#{ Time.new } expire new tun"
|
125
124
|
set_is_closing( @tun )
|
126
125
|
next_tick
|
@@ -249,7 +248,8 @@ module P2p2
|
|
249
248
|
caches: [], # 块读出缓存 [ src_id, pack_id, data ]
|
250
249
|
chunks: [], # 块队列 filename
|
251
250
|
spring: 0, # 块后缀,结块时,如果块队列不为空,则自增,为空,则置为0
|
252
|
-
peer_addr: nil, #
|
251
|
+
peer_addr: nil, # 配对地址
|
252
|
+
peer_at: nil, # 收到配对地址时间
|
253
253
|
tund_addr: nil, # 连通后的tund地址
|
254
254
|
src_exts: {}, # src额外信息 src_id => {}
|
255
255
|
src_ids: {}, # dst_port => src_id
|
@@ -794,6 +794,7 @@ module P2p2
|
|
794
794
|
puts "#{ Time.new } got peer addr #{ Addrinfo.new( peer_addr ).inspect }"
|
795
795
|
|
796
796
|
@tun_info[ :peer_addr ] = peer_addr
|
797
|
+
@tun_info[ :peer_at ] = now
|
797
798
|
loop_punch_peer
|
798
799
|
when HEARTBEAT
|
799
800
|
from_addr = addrinfo.to_sockaddr
|
data/lib/p2p2/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: p2p2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.26.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- takafan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-08-
|
11
|
+
date: 2020-08-29 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: p2p通道。nat穿透。
|
14
14
|
email:
|