p2p2 0.25.0 → 0.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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:
|