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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2b2e5798d8439e44d3acbb68a9a8749a1d7dc69c43a5f6effea95f6360185a0a
4
- data.tar.gz: a306f7dfe4be190712e7317de0f7324135e16075a39af9d7d3408aa3ab978bd5
3
+ metadata.gz: 8b794e3b18c3c83d28013dc743181bd0f72ff9dc1c692266f68d360ebcc3855b
4
+ data.tar.gz: 99ff62c980d909c10d412f076d7aac4e81afe195a824c7fd36b6ac78b2c7e777
5
5
  SHA512:
6
- metadata.gz: 8542ffdd4ed556d9a7d0aa3fbbf3f8da180610bb6a3d8bf04567bb4bc75852f45fd6821c748490e42cf85d51fdaa0b7abf62a49eff50e38565584523de79c07a
7
- data.tar.gz: a6f98e9fb4116a19e473ed46e4767e54bf4113bb7e91da6970f64ba75f0f5fbf4f1a5f2118d6dff970640aecf9ad39cc34854ed0e317ef740c77589d1b60ba21
6
+ metadata.gz: b6cf3c77031cf3f53d1f8f884daca762140f68ff40c2538618058a2ffa8747d8c722069e432c02b3165ee3451545c82cd43177ba38e80218459c91b5a37bd978
7
+ data.tar.gz: 177432a07d6976627d629658dd8e61ac105d538225e43af30842fe05d4378abfd2be28d47b4c2616a0e733b80228a6badcf33f21c9464cfe5ff3ce78a0c16d2a
@@ -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[ :created_at ] > EXPIRE_NEW
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
@@ -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[ :created_at ] > EXPIRE_NEW
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
@@ -1,3 +1,3 @@
1
1
  module P2p2
2
- VERSION = '0.25.0'.freeze
2
+ VERSION = '0.26.0'.freeze
3
3
  end
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.25.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-24 00:00:00.000000000 Z
11
+ date: 2020-08-29 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: p2p通道。nat穿透。
14
14
  email: