Commit Graph

247 Commits

Author SHA1 Message Date
Dmitriy Ryajov c7fd08e002 use sane defaults 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov e5b782f094 mplex testing/interop 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 100f6220b3 dont clash with MultiCodec 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 ba843f4091 wip: interop testing 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 13ca6d253d fix: multistream tests 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 962f58b436 avoid wrapping in several futures 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 13837619ed plaintext security 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 8338a16aab testing mplex 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov b7f999d316 fixing several issues found while testing 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov dee46c4d37 remove unneded var 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 14d9150bbb moving modules to apropriate directories 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 2f402d68e1 docs/wording 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 60245a065d fix: don't call conn handler on dials 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 0f52a6e798 fix: switch and tests 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 6f8de062bb fix: multistream 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 5237fc8b12 test multiple streams with mplex 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 746987156d reworked switch 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 0b784c5b58 don't pass stream handler through contructor 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 3cd19ddc47 change root object from ref to obj 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 9889bd9cbf return proto string from select, instead of bool 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov cc595f7947 allow selecting one of many protos in identify 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov a7e5fde6f7 check identify request against known pubkey 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov ec351cc2b0 misc: cleanup mplex 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 6ce2782e5c add missing test 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 80c68206f7 documentation 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 9b485b3082 feat: half closed channels 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 6058a3fc69 split mplex 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 1b02c5e4e4 don't block main loop 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 36917c5adc disable switch tests temporarily 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov a0aaa29739 wip: mplex and mplex tests 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov cc26d4e040 prevent already closed errors 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 8549ce76bb add init proc to bufferedstream 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 917e0553e1 fix: tests and docs 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 96cd7bcf50 wip: mplex tests 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov b26d1ac23a cosmetic 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 93bd7f623c remove generic constructor 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 cae4910427 add custom new proc 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 40e75a7635 remove useless methods 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 4edd2c9f8a mplex move everything to one file 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov ad1eaffdd6 make writeHandler async 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov d63e0c003b add proper pragmas 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 2c3c23c7c6 documentation 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov f3cc6fbef0 use correct names 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 7bd1e04d6f wip: modeling mplex 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 7f0627378c misc 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov fceea14aa5 adding bufferred stream 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 ef7a0b41e4 add switch tests to native 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 0f3d024c0a avoid unnecesary temps 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 18b9765525 fix: cleaning up based on jangko review 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov db1aad3df0 adding switch e2e test 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 79129ea6d1 `handles` should be called on concrete transport 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 3df92e0d67 wip: switch 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 152c1e3c14 close connections asyncronously 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 022a248ca3 reworked protocol 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 3d74a4c82a add base upgrade method 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 71282fa442 make matcher func gcsafe 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 ca4ccbe37f don't use method as handler in protocol base 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov e7c3412d69 expose private and public keys 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov e5be1fcaee wip: switch 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 5eced0abee rename multistream 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov aa2dfababd wip: identify 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 682fecc395 make things public 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 054bd365af protocol handler method should receive context 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov b85d616a13 call the handler with the protocol context 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov a9c9788356 we don't need the switch in the protos after all 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov a7709b8afc use gcsafe in closures 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov b56b005ab7 make object instead of ref 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 2d2c3ba977 identify message protobuf encode/decode 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov e77ebc2e5a pretty 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 954a78fda0 remove useless error pragma 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 261204853e rename readwrite to stream 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov f56d925f6f rename supports to handles 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov e486b5e40c make fields privae 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 90d9dcbce9 wip: identify and switch 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov ec86afebe0 modeling the switch 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 187645013f fix: ls and other minor issues 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 139b8a752b correctly close stream 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 47b6b89fc5 fix: call on reader 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 77aa11f0f3 removing bins 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 8a52cfa9b0 use consistent dispatcher object name 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 64e92eb9da adding `na` test/functionality 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 6e5641dc48 add closed flag 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov f24c866a30 use loop on closed flag 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 e13f42f9bb wip: initial multistream handler implementation 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 307c76e139 feat: implemented select 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 cb4ff262b0 wip: multistreamselect 2019-10-11 08:15:24 +09:00
Dmitriy Ryajov 7d647c1555 remove error pragma 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