vyzo
d5d886d853
Don't block the event loop if the subscriber is too slow
...
Closes #69
2018-03-07 07:57:42 +02:00
Steven Allen
e48c6f5d4a
Merge pull request #71 from libp2p/gx/publish
...
gx publish 0.9.11
2018-03-01 21:14:33 +00:00
vyzo
cbeeb4e194
gx publish 0.9.11
2018-03-01 23:05:43 +02:00
vyzo
ceff712aba
Merge pull request #70 from libp2p/feat/remove-validator
...
UnregisterTopicValidator for removing topic validators
2018-02-28 22:35:58 +02:00
vyzo
ed1dd154b6
add test for UnregisterTopicValidator
2018-02-28 22:26:42 +02:00
vyzo
399bcb25a6
UnregisterTopicValidator for removing topic validators
2018-02-28 22:14:54 +02:00
Steven Allen
89c19c0b98
gx publish 0.9.10
2018-01-31 18:54:35 -08:00
vyzo
d553fb800c
Merge pull request #60 from libp2p/feat/modularization
...
Modularized PubSub Routing
2018-01-30 20:59:47 +02:00
Steven Allen
b595000d49
gx publish 0.9.9
2018-01-27 17:47:38 -08:00
vyzo
327e72d4fd
demote erros per #62
2018-01-27 09:54:57 +02:00
vyzo
e7b1fe6e75
modularized pubsub; Flooding is just a routing method.
2018-01-27 09:54:57 +02:00
vyzo
c036ca0c01
Merge pull request #62 from libp2p/feat/demote-errors
...
demote errors/warnings to info
2018-01-27 09:47:23 +02:00
Steven Allen
098f1d5819
demote errors/warnings to info
...
* dropped/killed connections are not errors.
* handleIncomingRPC/publishMessage do not return errors.
2018-01-26 15:00:47 -08:00
Steven Allen
c82e67dcd3
Merge pull request #55 from libp2p/feat/validators
...
Message Validators
2018-01-24 06:03:20 +00:00
Steven Allen
217e5307cb
gx publish 0.9.8
2018-01-19 20:52:58 -08:00
vyzo
3f4fc21228
fix comment, subscriptions don't have validators any more.
2018-01-18 20:09:09 +02:00
vyzo
bbdec3fda2
implement per topic validators
2018-01-18 19:12:36 +02:00
Raghav Gulati
99a4f9e5ed
Increase timeout in TestSubscribeMultipleTimes
...
Increase delay to 10ms; makes go test -race happy.
2018-01-16 11:46:33 +02:00
vyzo
fceb00d234
improved comment about global validation throttle
2018-01-14 02:24:13 +02:00
vyzo
cb365a5fee
remove faulty tests
2018-01-14 02:01:42 +02:00
vyzo
f1be0f1296
don't spawn an extra goroutine for the validator context
2018-01-13 22:14:01 +02:00
vyzo
145a84a33b
use a single channel for all validation results
2018-01-13 22:02:28 +02:00
vyzo
f6081fb061
pushMsg should just call maybePublishMessage when it doesn't need validation
2018-01-13 21:56:57 +02:00
vyzo
473a5d2873
sendMsg should have a buffer
2018-01-13 21:39:35 +02:00
vyzo
edcb251ad1
install global validation throttle, use reasonable defaults.
2018-01-13 21:15:40 +02:00
vyzo
856a25c8eb
WithMaxConcurrency is WithValidatorConcurrency
...
and defaultMaxConcurrency is defaultValidateConcurrency.
2018-01-13 20:56:03 +02:00
vyzo
bf2151ba5f
the sendMsg channel should yield pointers for consistency
2018-01-13 20:47:28 +02:00
vyzo
5ef13c764e
don't always spawn a goroutine for sending a new message
2018-01-13 20:11:32 +02:00
vyzo
c95ed28496
add validation context for cancelation on aborts
2018-01-13 18:34:00 +02:00
vyzo
fba445bc6d
code cosmetics
...
reword pushMsg for less indentation nesting.
2018-01-13 14:44:33 +02:00
vyzo
982c4de960
per subscription validation throttle and more efficient dispatch logic
2018-01-13 14:31:34 +02:00
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