Zahary Karadjov
e89e59aa59
`enterList` now returns a bool
2020-02-27 20:09:05 +02:00
Ștefan Talpalaru
f4712aaf74
rename safeEnterList() to enterList()
...
in order to avoid unhandled exceptions due to malformed data received
over the network
2020-02-25 16:10:09 +01:00
kdeme
0229547c41
More explicit Exceptions + fix re-raising
2019-12-04 12:34:37 +01:00
kdeme
4976bd9fb9
Replace getCurrentException and getCurrentExceptionMsg
2019-12-02 23:35:34 +02:00
Zahary Karadjov
a54fdc8073
Cosmetic renames to match the protocol naming conventions
2019-11-25 19:55:41 +02:00
zah
7a39a50c27
Allow devp2p sub-protocols to use version 0; Fix #119 ( #121 )
2019-11-19 08:16:35 +01:00
Zahary Karadjov
14e99e0711
Changes related to the new ETH interop spec
...
* RPC requests and responses with a single parameter are now inlined
2019-10-23 12:10:16 +03:00
kdeme
98be627bcc
Make msgId fixed int32
2019-10-23 09:35:33 +09:00
kdeme
02a6906c01
Remove the p2p disconnect handling from dispatchMessages
2019-10-14 12:01:01 +02:00
kdeme
9ee208876d
Fix possible AssertionError in ByteRange due to invalid access
2019-10-10 14:40:40 +02:00
kdeme
87f2a51a1b
Fix segfault + fix IndexError (causes also segfault in release)
2019-10-09 22:19:41 +02:00
Bruno Škvorc
f3aad8f925
Small clarification to protocol name length doc
...
As per conversation in PR
2019-08-20 21:33:16 +03:00
kdeme
8451ce6c3b
Add necessary re-exports, fixes #91
2019-08-20 13:59:34 +03:00
nolash
5dc8117a07
Allow longer rlpx protocol names (for compatability with swarm)
2019-08-19 20:33:38 +03:00
Zahary Karadjov
1fe3de6c39
Changes required for the latest ETH2 spec
2019-08-07 06:13:45 +03:00
Ștefan Talpalaru
620573f63c
use new nim-metrics API
2019-07-16 14:06:46 +03:00
kdeme
14ae046354
Increase rlpx maxMsgSize *10
2019-07-11 17:19:19 +02:00
Ștefan Talpalaru
d445412297
use nim-metrics
2019-07-10 03:01:30 +02:00
Jacek Sieka
75c7c62651
std_shims -> stew
2019-07-07 11:56:01 +02:00
kdeme
3d2436d3df
Provide empty RLP list data for devp2p ping/pong messages, for Parity compatibility
2019-07-04 09:43:29 +02:00
kdeme
934a247c23
Add/update some debugging info
2019-07-04 09:43:29 +02:00
Ștefan Talpalaru
799b1a7bb0
initial statistics collection setup
2019-06-26 14:49:38 +02:00
Zahary Karadjov
07484bfc88
Refactorings enabling more code reuse in the libp2p back-ends
2019-06-24 05:12:23 +03:00
Zahary Karadjov
8acdbedfbd
Fix a simple merge issue
2019-06-24 05:12:23 +03:00
Zahary Karadjov
11fce4122e
Pre and post-serialization steps for send procs
2019-06-24 05:12:23 +03:00
Zahary Karadjov
9191bc7851
Bugfix: Fix an empty name field in the ETH/LES protocol info
2019-06-24 05:12:23 +03:00
Zahary Karadjov
bac87ff6d2
Restore the compilation of Nimbus by restoring the support for p2pProtocol decorators
2019-06-24 05:12:23 +03:00
Zahary Karadjov
a492e3c218
More flexible definitions of Responders
2019-06-24 05:12:23 +03:00
Zahary Karadjov
1adad7f4da
Fixes for compiling beacon_node in RLPx mode
2019-06-24 05:12:22 +03:00
Zahary Karadjov
e4ec051fc6
Take advantage of the new shared DSL helpers to simplify the RLPx back-end implementation
2019-06-24 05:12:22 +03:00
Zahary Karadjov
638442070d
Simplified the generation of sender procs
2019-06-24 05:12:22 +03:00
Zahary Karadjov
76bb2cde5c
More shared code extracted out of RLPx
2019-06-24 05:12:22 +03:00
Zahary Karadjov
f761889518
Refactored the p2pProtocol macro to eliminate most code duplication in the backends
2019-06-24 05:12:22 +03:00
kdeme
0a5d6118c2
Add check if message loop is finished during connection stage
2019-06-21 15:58:40 +03:00
kdeme
dc02a5b28d
Fix two AssertionErrors from being raised all the way up
2019-06-14 16:15:09 +03:00
kdeme
b44675eda5
Same error handling for rlpxAccept as for rlpxConnect
2019-06-11 14:38:02 +02:00
kdeme
f8bdec88c9
Rework duplicate connections check and fix #36
2019-06-11 12:46:26 +02:00
cheatfate
88b3b949a8
Fix return value handling for transport.write().
2019-05-30 13:37:45 +03:00
kdeme
b977996b0a
Fix unhandled exceptions
2019-05-15 15:10:11 +03:00
kdeme
42fbbb8961
Make the wait + close not blocking
2019-05-09 14:26:02 +02:00
kdeme
6ba61488ff
Fix transport leaks + handle disconnects in message loop
2019-05-09 10:35:02 +02:00
kdeme
442c3d9f7b
More whisper changes ( #43 )
...
* Make messages with invalid ID a catchable error as we should not disconnect on this
* Add unimplemented message IDs used by Status
* Make whisper log less verbose + add comment on duplicate messages
* Cleanup + add documentation
2019-04-26 07:36:54 -06:00
Jacek Sieka
e1af5a0c02
don't swallow random exceptions ( #11 )
2019-04-22 19:31:12 -06:00
kdeme
5d9239ef17
Quick fix for when removePeer gets called before dispatcher is initialized
2019-04-18 17:17:57 +02:00
kdeme
7cdd31e982
Add option to set specific protocol for observer
2019-04-18 17:17:57 +02:00
Yuriy Glukhov
ca8519ef61
Workaround compilation error cause by chronos newFuture changes
2019-04-10 18:16:18 +03:00
kdeme
9e5cf2086c
Address review feedback
2019-04-08 13:51:32 +03:00
kdeme
7fd501136f
Add catch for exception in any of the disconnect handlers
2019-04-08 13:51:32 +03:00
kdeme
5550179dd1
Fix unhandled exceptions #3
2019-04-08 13:51:32 +03:00
Ștefan Talpalaru
49fff3a859
Merge branch 'fix_nimbus_build' of github.com:jangko/nim-eth into jangko-fix_nimbus_build
2019-03-28 17:32:37 +01:00
Zahary Karadjov
c4da31505e
The end of the dispatchMessages loop is not really an error
2019-03-28 14:47:25 +02:00
andri lim
7a6b195021
fix nimbus/premix appveyor build
2019-03-27 19:53:28 +07:00
Zahary Karadjov
c10da74b77
Addressed review comments
2019-03-26 17:32:17 +02:00
Zahary Karadjov
dc2b6170b5
Improved error-handling; Timeouts in all handshakes
2019-03-26 17:32:17 +02:00
Jacek Sieka
cbe67720ce
use Moment for tracking timeouts ( #25 )
...
* use Moment for tracking timeouts
* Use the new Duration type throughout RLPx
2019-03-25 11:32:18 -06:00
Zahary Karadjov
f0bf0570d1
Support compiling with json logging; Drop package_visible_types
2019-03-25 02:10:09 +02:00
Ștefan Talpalaru
9146e8e2f0
assert() -> doAssert()
2019-03-13 23:15:26 +01:00
Zahary Karadjov
f15cbbae90
Support types with custom RLP serialization in param positions
2019-03-13 23:22:22 +02:00
Zahary Karadjov
3efec171a6
Make the APIs compatible with libp2p
...
Lib2P2 handles RPC requests and responses with separate streams
while DEV2P2 is relying on tagged messages transmitted over a
single stream. To cover both models through the same application
code, we introduce a new `response` variable in the request handlers.
The user is supposed to issue a call to `response.send` in order to
reply to the request. Please note that the `response.send` signature
is strongly typed and depends on the current message.
2019-03-12 13:36:39 +02:00
Yuriy Glukhov
eb1a04e93b
Fixes #13
2019-02-27 13:14:22 +02:00
Mamy Ratsimbazafy
07cf801b97
Rebrand asyncdispatch2 to chronos ( #2 )
...
* Rebrand asyncdispatch2 to chronos
* fix nimble path to chronos
2019-02-06 17:01:04 +01:00
Yuriy Glukhov
e75a00f86e
Moved eth-p2p to eth
2019-02-05 17:40:29 +02:00