Dmitriy Ryajov
53e163abf2
check for size bounds when reading varints
2020-02-16 11:31:35 -06:00
Giovanni Petrantoni
ea0d167285
Fix max size write mplex test
2020-02-12 11:57:38 -05:00
Giovanni Petrantoni
f9cbdc252f
Improve connection.nim read error clarity when buffer overflow
2020-02-12 11:57:38 -05:00
Giovanni Petrantoni
3531ebf772
Fix typo
2020-02-12 11:57:38 -05:00
Giovanni Petrantoni
23712ecf3b
Lazy channels ( #78 )
...
* Implemented lazy stream opening for mplex connections
* Properly fix newStream usage
* Make lazy channel open optional
* Add Lazy channel test
* Cleanup mplex test
* Move lazyness properly into LPChannel
* Connection writeLp back to proc
2020-02-11 12:30:36 -05:00
Dmitriy Ryajov
88a030d8fb
fix: removing timeouts from conn
2020-02-05 20:38:43 +01:00
Dmitriy Ryajov
691efaa8a1
dont use result
2020-01-30 09:30:08 -06:00
Dmitriy Ryajov
171d60fb52
fix: reraise exception in readLp
2020-01-30 09:30:08 -06:00
Dmitriy Ryajov
c6561b8851
add timeouts to connection/secio
2020-01-09 12:55:21 -06:00
Dmitriy Ryajov
68cc57669e
Feat/pubsub validators ( #58 )
...
* feat: adding validator hooks to pubsub
* expose add/remove validators on switch
* do less unnecessary copyng
2019-12-16 23:24:03 -06:00
Dmitriy Ryajov
293a219dbe
Cleanup ( #55 )
...
* fix: don't allow replacing pubkey
* fix: several small improvements
* removing pubkey setter
* improove error handling
* remove the use of Option[T] if not needed
* don't use optional
* fix-ci: temporarily pin p2pd to a working tag
* fix example to comply with latest changes
* bumping p2pd again to a higher version
2019-12-10 14:50:35 -06:00
Dmitriy Ryajov
5f6fcc3d90
extract public and private keys fields from peerid ( #44 )
...
* extract public and private keys fields from peerid
* allow assigning a public key
* cleaned up TODOs
* make pubsub prefix a const
* public key should be an `Option`
2019-12-07 10:36:39 -06:00
Dmitriy Ryajov
903e79ede1
Feat/conn cleanup ( #41 )
...
Backporting proper connection cleanup from #36 to align with latest chronos changes.
* add close event
* use proper varint encoding
* add proper channel cleanup in mplex
* add connection cleanup in secio
* tidy up
* add dollar operator
* fix tests
* don't close connections prematurely
* handle closing streams properly
* misc
* implement address filtering logic
* adding pipe tests
* don't use gcsafe if not needed
* misc
* proper connection cleanup and stream muxing
* re-enable pubsub tests
2019-12-03 22:44:54 -06:00
Dmitriy Ryajov
3194e3ac5b
fixes after building with 0.20.2
2019-10-11 08:15:24 +09:00
Dmitriy Ryajov
bb277d4b56
readLp should warn on ignored exceptions
2019-10-11 08:15:24 +09:00
Dmitriy Ryajov
bc46a76029
connection should raise on invalid varint
2019-10-11 08:15:24 +09:00
Dmitriy Ryajov
15bae7bec5
use `result` instead of buffer
2019-10-11 08:15:24 +09:00
Dmitriy Ryajov
b5c4eaf9b8
don't use result in oneliners
2019-10-11 08:15:24 +09:00
Dmitriy Ryajov
5ae37cac98
no more buffer resets on len prefixed reads
2019-10-11 08:15:24 +09:00
Dmitriy Ryajov
99869aa8b8
don't reset buffer on exception
2019-10-11 08:15:24 +09:00
Dmitriy Ryajov
9862064234
changed copyright year
2019-10-11 08:15:24 +09:00
Dmitriy Ryajov
054085620c
logging: switch debug for trace in most cases
2019-10-11 08:15:24 +09:00
Dmitriy Ryajov
ef89e98479
renaming channel
2019-10-11 08:15:24 +09:00
Dmitriy Ryajov
003b72ec27
adding bool
2019-10-11 08:15:24 +09:00
Dmitriy Ryajov
fc36de21c1
handle exceptions correctly
2019-10-11 08:15:24 +09:00
Dmitriy Ryajov
e31966b6f8
fix: switch, with identify and mplex
2019-10-11 08:15:24 +09:00
Dmitriy Ryajov
6086038b01
raise correct LP exception on incomplete data
2019-10-11 08:15:24 +09:00
Dmitriy Ryajov
f8a942ed67
make peerinfo an optional type
2019-10-11 08:15:24 +09:00
Dmitriy Ryajov
9bc7043f48
export read size const
2019-10-11 08:15:24 +09:00
Dmitriy Ryajov
40e75a7635
remove useless methods
2019-10-11 08:15:24 +09:00
Dmitriy Ryajov
5177bbb492
fix: return on read error
2019-10-11 08:15:24 +09:00
Dmitriy Ryajov
cbf0f4f186
move streams to own dir
2019-10-11 08:15:24 +09:00
Dmitriy Ryajov
1cef1b803b
don't await twise
2019-10-11 08:15:24 +09:00
Dmitriy Ryajov
e2b04fc30d
add gcsafe pragma
2019-10-11 08:15:24 +09:00
Dmitriy Ryajov
682fecc395
make things public
2019-10-11 08:15:24 +09:00
Dmitriy Ryajov
3d7f657ce8
rename readerwriter to stream
2019-10-11 08:15:24 +09:00
Dmitriy Ryajov
d23398f498
nimpretty
2019-10-11 08:15:24 +09:00
Dmitriy Ryajov
402067ceae
await for void features and add closed flag
2019-10-11 08:15:24 +09:00
Dmitriy Ryajov
f23106029f
feat: added length prefixed read/write methods
2019-10-11 08:15:24 +09:00
Dmitriy Ryajov
368176f8d1
remote templated write
2019-10-11 08:15:24 +09:00
Dmitriy Ryajov
5d07145a0a
feat: added stream abstraction and chronos wrapper
2019-10-11 08:15:24 +09:00
Dmitriy Ryajov
c15a9bdd67
feat: adding dial tests
2019-10-11 08:15:24 +09:00
Dmitriy Ryajov
c8546583e6
feat: tcp transport listen
2019-10-11 08:15:24 +09:00
Dmitriy Ryajov
47106a6a7d
wip: adding test
2019-10-11 08:15:24 +09:00
Dmitriy Ryajov
5b7e8d99bd
initial commit for native libp2p implementation
2019-10-11 08:15:24 +09:00