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 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: