Commit Graph

691 Commits

Author SHA1 Message Date
vyzo d2f6a0050f WithValidator and WithValidatorTimeout are subscription options 2018-01-13 12:33:03 +02:00
vyzo 4241241031 fix dangling maxConcurrency reference 2018-01-13 12:24:31 +02:00
keks 88274db0bb make maximum concurrency configurable, split loop 2018-01-13 12:15:27 +02:00
keks fe09d1eea3 make validator timeout configurable 2018-01-13 12:13:54 +02:00
keks 6e8b9f2d5c fix timeout 2018-01-13 12:13:54 +02:00
keks 02877cda71 complete validator functions
- make validators time out after 100ms
  - add context param to validator functions
  - add type Validator func(context.Context, *Message) bool
- drop message if more than 10 messages are already being validated
2018-01-13 12:13:54 +02:00
keks 89e6a06f3c better tests for validation 2018-01-13 12:12:21 +02:00
keks 197a5982a4 ungxify 2018-01-13 12:12:21 +02:00
keks 7dd4e0bfeb vet
used for range variable inside goroutine, now passed as argument
2018-01-13 12:12:21 +02:00
keks 1945f895a2 log when validator discards message 2018-01-13 12:12:21 +02:00
keks 930f264a27 typedef subscription options and fix typo 2018-01-13 12:12:21 +02:00
keks 647bb98655 optionally allow caller to validate messages 2018-01-13 12:12:21 +02:00
vyzo 0ec8f2fa08
Merge pull request #54 from libp2p/feat/better-atomic-counter
Narrow the message seqno to 64bit
2018-01-03 22:43:49 +02:00
vyzo 95dce910ba narrow the message seqno to 64bit again
Uses the atomic counter initialized at instantiation time, which saves
a few bytes and a syscall per message.
2018-01-03 20:30:28 +02:00
vyzo 979ae33fc7
Merge pull request #53 from libp2p/fix/atomic-counter
Use atomic counter for message seqnos
2018-01-03 19:53:33 +02:00
vyzo 8a31b41b4c use atomic counter for message seqnos; timestamp is insufficient 2018-01-03 11:25:20 +02:00
ᴠɪᴄᴛᴏʀ ʙᴊᴇʟᴋʜᴏʟᴍ 54413c29cc
Merge pull request #50 from libp2p/jenkinsfile
Create Jenkinsfile
2017-12-13 21:19:31 +01:00
Steven Allen 3856705124
Merge pull request #48 from libp2p/kevina/travisci
Update Travis CI to use standard test script and go 1.9.x.
2017-12-05 01:11:40 +00:00
Steven Allen 923bb920bf gx publish 0.9.7 2017-12-05 01:11:18 +00:00
ᴠɪᴄᴛᴏʀ ʙᴊᴇʟᴋʜᴏʟᴍ d545c905e2
Create Jenkinsfile 2017-11-27 13:15:23 +01:00
Steven Allen 5eedebda93 gx publish 0.9.6 2017-11-20 14:23:56 -08:00
Kevin Atkinson c17c7236b5 Disable sudo in Travis CI. 2017-11-17 23:04:19 -05:00
Kevin Atkinson a3f5dc469d Update Travis CI to use standard test script and go 1.9.x. 2017-11-17 22:36:56 -05:00
Steven Allen 10a9fb0903 gx publish 0.9.5 2017-11-14 12:49:43 -08:00
Steven Allen e3844b7d14 Merge pull request #44 from libp2p/gx/update-lxc2hc
gx: update go-peerstream
2017-10-19 08:12:54 -07:00
Steven Allen c000ea01e2 gx publish 0.9.4 2017-10-19 07:41:34 -07:00
Steven Allen fb6cc3172e Merge pull request #41 from film42/gt/package-name
Rename gx package to go-libp2p-floodsub
2017-10-16 08:53:31 -07:00
Garrett Thornburg 9db226f672 Rename gx package to go-libp2p-floodsub
Resolves https://github.com/libp2p/go-floodsub/issues/7
2017-10-16 09:22:10 -04:00
Steven Allen 6d14add4a3 Merge pull request #39 from libp2p/fix/38
mark the peer as dead if the inbound stream closes
2017-10-14 16:26:20 -07:00
Steven Allen 56ea7752e8 better worker cleanup
1. Don't hang marking a peer as dead if we're shutting down.
2. No need to "drain" the outgoing channel anymore. This may have been necessary
to prevent a deadlock where the main loop blocked on sending on sending a
message while we waited to tell the main loop that the peer was dead. However,
this is no longer an issue (we never block on sending).
2017-10-14 11:19:21 -07:00
Steven Allen a01778ac78 test peer disconnect 2017-10-14 09:32:31 -07:00
Steven Allen 3e0c53e2a7 mark the peer as dead if the inbound stream closes
fixes #38
2017-10-14 09:24:44 -07:00
Jeromy 82b5814c05 gx publish 0.9.3 2017-10-06 07:29:47 -07:00
Steven Allen 9366bd3c31 gx publish 0.9.2 2017-09-15 18:50:52 -07:00
Steven Allen 0e28f929b8 gx publish 0.9.1 2017-09-15 16:57:36 -07:00
Jeromy Johnson 2b1a843e79 Merge pull request #37 from libp2p/fix/use-reset
use reset where appropriate
2017-09-15 16:42:11 -07:00
Steven Allen 238bd82a7f use reset where appropriate
(especially when walking away from read-only streams)
2017-09-15 16:28:46 -07:00
Steven Allen 33a57ac760 gx publish 0.9.0 2017-09-12 23:42:37 -07:00
Steven Allen 2709da6f16 Merge pull request #36 from libp2p/gx/update-37wfbd
gx: update go-ws-transport
2017-09-05 16:28:38 -07:00
Steven Allen d5253e888e gx publish 0.8.25 2017-09-05 16:09:01 -07:00
Steven Allen 1b420681eb gx publish 0.8.24 2017-09-05 16:08:56 -07:00
Jeromy c44413e7d0 gx publish 0.8.23 2017-09-04 23:29:26 -07:00
Steven Allen d1d3a55404 Merge pull request #34 from libp2p/fix/go-ipfs/4066
drop messages to slow peers
2017-09-04 16:24:19 -07:00
Steven Allen d884976a41 Merge pull request #35 from film42/gt/slow_announce
Drop announce messages to slow peers
2017-09-04 16:23:44 -07:00
Garrett Thornburg 2ac19f2157 Drop announce messages to peers when their buffer is full 2017-09-01 23:10:06 -04:00
Garrett Thornburg 63c977c815 Return false when we haven't subscribed to anything 2017-09-01 21:16:41 -04:00
Steven Allen e7faa78d7c log when dropping messages 2017-08-29 19:42:33 -07:00
Steven Allen 02b9c5724d drop messages to slow peers
Instead of spawning a go routine for every message sent to every peer, buffer
them (actually, we already buffer 32 so this didn't need to be changed) and drop
messages when the buffer fills up.

fixes https://github.com/ipfs/go-ipfs/issues/4066

(writing to a channel in a go routine can be dangerous...)
2017-08-29 19:11:58 -07:00
Steven Allen b93dd9968a Merge pull request #33 from libp2p/gx/update-4ruucc
gx: update go-cid, go-multibase, base32
2017-08-28 21:51:27 -07:00
Steven Allen 1572de4e10 gx publish 0.8.22 2017-08-28 20:30:27 -07:00