444 Commits

Author SHA1 Message Date
Dmitriy Ryajov
bcacd2ef98 fix and add tests 2020-04-17 17:18:13 -06:00
Dmitriy Ryajov
6a7b0675d7 try without methods 2020-04-17 17:18:13 -06:00
Dmitriy Ryajov
ca6862b8ba make lenprefixed object instead of ref 2020-04-17 17:18:13 -06:00
Dmitriy Ryajov
a06731d221 fix compilation 2020-04-17 17:18:13 -06:00
Dmitriy Ryajov
10e0e317d2 move eof and closed flags 2020-04-17 17:18:13 -06:00
Dmitriy Ryajov
9850b948d7 dont use methods unless needed 2020-04-17 17:18:13 -06:00
Dmitriy Ryajov
a2cdc10cb0 expose len 2020-04-17 17:18:13 -06:00
Dmitriy Ryajov
d521bb91e8 use readOnce 2020-04-17 17:18:13 -06:00
Dmitriy Ryajov
d17997540f wip 2020-04-17 17:18:13 -06:00
Dmitriy Ryajov
f58744fabe wip 2020-04-17 17:18:13 -06:00
Dmitriy Ryajov
b5e60a084a use methods 2020-04-17 17:18:13 -06:00
Dmitriy Ryajov
7284ee1689 remove shallowCopy 2020-04-17 17:18:13 -06:00
Dmitriy Ryajov
75c0100542 rename stream to streams 2020-04-17 17:18:13 -06:00
Dmitriy Ryajov
becdef923f initial connection implementation 2020-04-17 17:18:12 -06:00
Dmitriy Ryajov
c7bfaa00cf small fixes to ringbuffer 2020-04-17 17:18:12 -06:00
Dmitriy Ryajov
60749d8dfa encoder and decoder throughs should be factories 2020-04-17 17:18:12 -06:00
Dmitriy Ryajov
8b6efee356 source and sink should be factories 2020-04-17 17:18:12 -06:00
Dmitriy Ryajov
bf6eeca6ff adding Stream base type 2020-04-17 17:18:12 -06:00
Dmitriy Ryajov
b92f8368c1 implement streaming length prefixed parser 2020-04-17 17:18:12 -06:00
Dmitriy Ryajov
a644a19a2d wip: rework with async iterators 2020-04-17 17:18:12 -06:00
Jacek Sieka
e8b33c64fa
secp: use upstream secp convenience api (#141)
* secp: use upstream secp convenience api
2020-04-17 12:51:13 +02:00
Ștefan Talpalaru
eaa73ae6e8
add stream metrics (#136)
* add stream metrics

- just BufferStream and Connection are tracked, for now
- flag checking is enforced more strictly in close(), since it became
  clear that instances are closed multiple times

* add "metrics" dependency

and sort the list
2020-04-14 15:27:07 +02:00
Ștefan Talpalaru
7723403b1f
debug prints (#132)
* debug prints

* CI: enable stack traces

* Azure: better NimBinaries cache key

* CI changes

- Azure: remove Linux target
- Travis: add ARM64 target

* uglify the code in order to save 12 bytes per LPStream object
2020-04-14 15:21:16 +02:00
Jacek Sieka
2b823bde68
secp: update (#138) 2020-04-12 19:03:08 +02:00
Giovanni Petrantoni
303ec297da
Start removing allFutures (#125)
* Start removing allFutures

* More allfutures removal

* Complete allFutures removal except legacy and tests

* Introduce table values copies to prevent error

* Switch to allFinished

* Resolve TODOs in flood/gossip

* muxer handler, log and re-raise

* Add a common and flexible way to check multiple futures
2020-04-11 13:08:25 +09:00
Dmitriy Ryajov
f4740c8b8e fix trace runs in connection 2020-04-07 14:55:05 -06:00
Dmitriy Ryajov
00fbc9246e fix nil condition 2020-04-07 12:16:59 -06:00
Dmitriy Ryajov
6cbcc7859e reduse usssage of asyncCheck 2020-04-07 12:16:59 -06:00
Dmitriy Ryajov
bd49a35e0a formatting 2020-04-07 12:16:59 -06:00
Dmitriy Ryajov
976164ba3c proper connection cleanup 2020-04-07 12:16:59 -06:00
Dmitriy Ryajov
0c8dde15e7 remove unused field 2020-04-07 12:16:59 -06:00
Dmitriy Ryajov
4ee1b4a66d connection closing tests 2020-04-07 12:16:59 -06:00
Dmitriy Ryajov
5a657c9264 disable storing connections on internal table 2020-04-07 12:16:59 -06:00
Dmitriy Ryajov
87b35de83e close connections 2020-04-07 12:16:59 -06:00
Dmitriy Ryajov
bae4713a85 small cleanup 2020-04-07 12:16:59 -06:00
Dmitriy Ryajov
8dda6c289d more connection closes to fix leaks 2020-04-07 12:16:59 -06:00
Dmitriy Ryajov
e4303110a6 properly close connections 2020-04-07 12:16:59 -06:00
Giovanni Petrantoni
35a48fa560 Re-enable gossipsub internal tests when running CI
minor bonus: add a link in the comments about bearssl issue with
callbacks
2020-04-07 22:07:00 +09:00
Giovanni Petrantoni
a576069305 Chachapoly new bearssl fixes 2020-04-07 17:52:19 +09:00
Giovanni Petrantoni
f7af2c2e5c Fix possible crash in tcptransport when server is nil 2020-04-06 12:56:17 +09:00
Giovanni Petrantoni
3514733060 Fix table assertion, edited while iterating
(the fix is not so nice.. adds plenty of allocations, but for now should
be ok)
2020-04-05 01:19:10 +09:00
Giovanni Petrantoni
e39bf0a4cf
Mplex: Add the ability to send any size payload (#123)
* Mplex: Add the ability to send any size payload

* Ensure size of coder header
2020-04-03 17:26:46 +02:00
Ștefan Talpalaru
7f8090b166
SecioConn.readMessage(): fix the exception types 2020-04-02 19:07:14 +02:00
Dmitriy Ryajov
5285f0d091
Fix/misc (#116)
* only check for payload size

* only subscribe if connection succeeded

* fix failing test

* check that the strem is active before openning

* msg type should not be > than 0x7

* fix tests

* check max against enum val
2020-03-29 08:28:48 -06:00
Dmitriy Ryajov
a35ecc6227 reverting connection changes 2020-03-28 09:29:43 -06:00
Dmitriy Ryajov
3effb95f10 close underlying bufferstream in lpchannel 2020-03-28 09:29:43 -06:00
Giovanni Petrantoni
56392913f9
Allow to specify a read size in readLp (#117)
* Allow to specify a read size in readLp

Also fix secio fragments + test

* Revert readLp changes, use just `read` in test
2020-03-26 15:06:47 +09:00
Giovanni Petrantoni
33ceefb209 Remove nim random usage from noise 2020-03-26 15:04:46 +09:00
Giovanni Petrantoni
b132eae939 Add secio oversized payload fragmentation
Cannot be used because Connection Read size hard limit tho
2020-03-25 16:53:35 +09:00
Giovanni Petrantoni
1550bea1cc Support arbitrary stream write sizes in noise 2020-03-25 16:10:11 +09:00