diegomrsantos
2fa2c4425f
fix(yamux): set EoF when remote peer half closes the stream in yamux ( #1086 )
2024-05-24 14:11:27 +02:00
Diego
2b5319622c
Revert "always allow new data be received if the recvWindow is > 0"
...
This reverts commit 5cbb473d1b
.
2024-04-25 15:01:29 +02:00
Diego
5cbb473d1b
always allow new data be received if the recvWindow is > 0
2024-04-25 14:55:19 +02:00
Etan Kissling
275d649287
move `header.length` check in `yamux` to original location ( #1069 )
2024-03-20 13:35:44 +01:00
Etan Kissling
28609597d1
add `{.async: (raises).}` to `libp2p/stream` modules ( #1050 )
...
Co-authored-by: Dmitriy Ryajov <dryajov@gmail.com>
Co-authored-by: Jacek Sieka <jacek@status.im>
2024-03-05 07:06:27 +00:00
Etan Kissling
8294d5b9df
document known `--mm:orc` crash ( #1039 )
2024-03-04 19:34:09 +01:00
Etan Kissling
78e83889ee
define proper parent error type for `YamuxError` ( #1040 )
2024-03-04 19:26:27 +01:00
Etan Kissling
8cccd54125
avoid triple lookup in `m.flushed` yamux table ( #1045 )
2024-03-04 00:27:13 +01:00
Etan Kissling
18e00a741b
avoid `KeyError` in edge case of yamux handler ( #1044 )
2024-03-04 00:24:18 +01:00
Etan Kissling
ee264fdf11
in yamux, do not write `{Rst}` packet to stream that's in use ( #1041 )
2024-03-04 00:23:42 +01:00
Etan Kissling
9059a8aced
use `race` instead of `or` to avoid lockup ( #1042 )
2024-03-04 00:06:32 +01:00
Etan Kissling
0b753e7cf2
don't forget closing the stream when final `{Fin}` fails in yamux ( #1043 )
2024-03-04 00:05:59 +01:00
Etan Kissling
d43c5feab0
do not log yamux buffers without sanitization (trace log level) ( #1046 )
2024-03-04 00:04:37 +01:00
Ludovic Chenut
349496e40f
feat: Yamux timeout ( #1029 )
2024-02-22 10:21:34 +01:00
Ludovic Chenut
c1dfd58772
fix: yamux metrics ( #1022 )
2024-02-08 12:36:58 +01:00
Ludovic Chenut
eb0890cd6f
docs: add comments and improve yamux readability ( #1006 )
2024-02-02 15:14:02 +01:00
Ludovic Chenut
d2c98bd87d
improvement(yamux): make the window size configurable ( #987 )
...
Co-authored-by: Diego <diego@status.im>
2023-12-15 16:30:50 +01:00
Jacek Sieka
2ede0fa40c
remove redundant gcsafe annotations ( #999 )
2023-12-05 08:05:32 +01:00
diegomrsantos
1f4b090227
fix(yamux): doesn't work in a Relayv2 connection ( #979 )
...
Co-authored-by: Ludovic Chenut <ludovic@status.im>
2023-11-21 16:03:29 +01:00
Tanguy
c76d1e18ef
Remove nim 1.2 support ( #907 )
2023-06-07 11:12:49 +00:00
Tanguy
225accd11b
Less warnings ( #813 )
...
Co-authored-by: Diego <diego@status.im>
2023-05-18 10:24:17 +02:00
Tanguy
db629dca25
Fix network protocol metrics typo ( #874 )
2023-04-26 09:52:06 +02:00
Alvaro Revuelta
53b060f8f0
Add getters for conns and streams ( #878 )
2023-03-31 00:16:39 +02:00
Tanguy
8d5ea43e2b
Upgrade flow refactoring ( #807 )
2023-03-08 12:30:19 +01:00
Tanguy
c11772c94e
Happy new year! ( #847 )
2023-01-20 15:47:40 +01:00
Etan Kissling
ba451196e8
Avoid closing connection on channel EOF ( #816 )
2023-01-06 15:18:16 +01:00
Tanguy
63e1872516
Fix yamux simultaneous closing ( #823 )
2022-12-16 18:14:40 +01:00
lchenut
4d8b50d24c
Specify EOF error ( #759 )
2022-09-14 10:58:41 +02:00
Miran
2fbe82bf9d
make it more Nim 1.4+ compatible ( #742 )
2022-08-03 13:33:19 +02:00
lchenut
a9a7e7eb15
Yamux metrics and limits ( #740 )
...
* Add yamux channel gauge
* Add limit to channel
* Add recv/send queue length metrics
* Add yamux stream tracking
* Add timeout to YamuxChannel
Co-authored-by: Tanguy <tanguy@status.im>
2022-08-01 12:52:42 +00:00
lchenut
34c2fb8787
Circuit relay v2 ( #717 )
2022-08-01 14:31:22 +02:00
Tanguy
533e39ef94
Yamux ( #704 )
...
Co-authored-by: Ludovic Chenut <ludovic@status.im>
2022-07-04 15:19:21 +02:00
Tanguy
d0523fdc9d
Documentation ( #716 )
2022-07-01 20:19:57 +02:00
Tanguy
5d7024f2e0
Handle more cancellations ( #733 )
...
* Mplex: handle write cancellation
* LpChannel: Don't close connection on EOF
2022-06-24 11:11:23 +02:00
Csaba Kiraly
9973b9466d
expose more libp2p performance and queuing metrics ( #678 )
...
* gossipsub: adding duplicate arrival metrics
Adding counters for received deduplicated messages and for
duplicates recognized by the seen cache. Note that duplicates that
are not recognized (arrive after seenTTL) are not counted as
duplicates here either.
* gossipsub: adding mcache (message cache for responding IWANT) stats
It is generally assumed that IWANT messages arrive when mcache still
has the message. These stats are to verify this assumption.
* libp2p: adding internal TX queuing stats
Messages are queued in TX before getting written on the stream,
but we have no statistics about these queues. This patch adds
some queue length and queuing time related statistics.
* adding Grafana libp2p dashboard
Adding Grafana dashboard with newly exposed metrics.
* enable libp2p_mplex_metrics in nimble test
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2022-04-06 16:00:24 +02:00
Tanguy
df566e69db
Fixes for style check ( #676 )
2021-12-16 11:05:20 +01:00
Jacek Sieka
c49932b55a
fast path for writes ( #659 )
...
avoids several copies of the various message buffers being kept alive
for the lifetime of the future
2021-12-14 10:55:17 +01:00
Tanguy
7d677f848f
Short agent fix ( #645 )
...
* Copy client type to muxed channel
* Fix incoming shortAgent
2021-11-08 17:42:56 +01:00
Tanguy
846baf3853
Various cleanups part 1 ( #632 )
...
* raise -> raise exc
* replace stdlib random with bearssl
* object init -> new
* Remove deprecated procs
* getMandatoryField
2021-10-25 10:26:32 +02:00
Tanguy
75bfc1b5f7
Fix muxer bandwidth typo ( #628 )
2021-09-27 14:30:22 +02:00
Menduist
d02735dc46
Remove peer info ( #610 )
...
Peer Info is now for local peer data only.
For other peers info, use the peer store.
Previous reference to peer info are replaced with the peerid
2021-09-08 11:07:46 +02:00
Tanguy Cizain
7fc0dfbd55
Muxer bandwidth metrics ( #607 )
...
* add stream bytes metrics
* renamed bw metric
* renamed
* new global metric
2021-07-26 16:12:36 +02:00
Tanguy Cizain
bd2e9a0462
Fix trackers tests ( #588 )
...
* Fix checkTracker typo
* fix testswich tests
* use tracker consts
2021-06-14 10:26:11 +02:00
Tanguy Cizain
caac8191d2
Change newXXXX procs to XXXX.new ( #585 )
...
* newBufferStream -> BufferStream.new
* newMultistream -> MultistreamSelect.new
* newSecio -> Secio.new
* newNoise -> Noise.new
* newPlainText -> PlainText.new
* newPubSubPeer -> PubSubPeer.new
* newIdentify -> Identify.new
* newMuxerProvider -> MuxerProvider.new
2021-06-07 09:32:08 +02:00
Dmitriy Ryajov
1c3616e3a5
merge latest master
2021-06-02 12:25:36 -06:00
Dmitriy Ryajov
eef5dd0042
fix imports
2021-06-02 12:24:06 -06:00
Dmitriy Ryajov
8e3ef540ea
add base exception class and fix hierarchy
2021-06-02 12:24:04 -06:00
Dmitriy Ryajov
ac4e060e1a
adding raises defect across the codebase ( #572 )
...
* adding raises defect across the codebase
* use unittest2
* add windows deps caching
* update mingw link
* die on failed peerinfo initialization
* use result.expect instead of get
* use expect more consistently and rework inits
* use expect more consistently
* throw on missing public key
* remove unused closure annotation
* merge master
2021-05-21 10:27:01 -06:00
Jacek Sieka
70deac9e0d
fix peer score accumulation ( #541 )
...
* fix accumulating peer score
* fix missing exception handling
* remove unnecessary initHashSet/initTable calls
* simplify peer stats management
* clean up tests a little
* fix some missing raises annotations
2021-03-09 13:22:52 +01:00
Giovanni Petrantoni
02ad017107
Gossipsub fixes and Initiator flagging fixes ( #539 )
...
* properly propagate initiator information for gossipsub
* Fix pubsubpeer lifetime management
* restore old behavior
* tests fixing
* clamp backoff time value received
* fix member name collisions
* internal test fixes
* better names and explaining of the importance of transport direction
* fixes
2021-03-03 08:23:40 +09:00