libp2p 0.46.8 → 0.46.9-28d6722f
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.min.js +22 -22
- package/dist/src/autonat/index.d.ts.map +1 -1
- package/dist/src/autonat/index.js +18 -9
- package/dist/src/autonat/index.js.map +1 -1
- package/dist/src/circuit-relay/transport/reservation-store.js +1 -1
- package/dist/src/circuit-relay/transport/reservation-store.js.map +1 -1
- package/dist/src/circuit-relay/utils.d.ts.map +1 -1
- package/dist/src/circuit-relay/utils.js +14 -7
- package/dist/src/circuit-relay/utils.js.map +1 -1
- package/dist/src/config.js +2 -2
- package/dist/src/config.js.map +1 -1
- package/dist/src/connection-manager/auto-dial.d.ts +2 -0
- package/dist/src/connection-manager/auto-dial.d.ts.map +1 -1
- package/dist/src/connection-manager/auto-dial.js +19 -2
- package/dist/src/connection-manager/auto-dial.js.map +1 -1
- package/dist/src/connection-manager/constants.browser.d.ts +6 -6
- package/dist/src/connection-manager/constants.browser.d.ts.map +1 -1
- package/dist/src/connection-manager/constants.browser.js +6 -6
- package/dist/src/connection-manager/constants.browser.js.map +1 -1
- package/dist/src/connection-manager/constants.d.ts +6 -6
- package/dist/src/connection-manager/constants.d.ts.map +1 -1
- package/dist/src/connection-manager/constants.defaults.d.ts +7 -3
- package/dist/src/connection-manager/constants.defaults.d.ts.map +1 -1
- package/dist/src/connection-manager/constants.defaults.js +7 -3
- package/dist/src/connection-manager/constants.defaults.js.map +1 -1
- package/dist/src/connection-manager/constants.js +6 -6
- package/dist/src/connection-manager/constants.js.map +1 -1
- package/dist/src/connection-manager/dial-queue.js +2 -2
- package/dist/src/connection-manager/dial-queue.js.map +1 -1
- package/dist/src/connection-manager/index.d.ts +12 -5
- package/dist/src/connection-manager/index.d.ts.map +1 -1
- package/dist/src/connection-manager/index.js +4 -3
- package/dist/src/connection-manager/index.js.map +1 -1
- package/dist/src/fetch/index.d.ts.map +1 -1
- package/dist/src/fetch/index.js +7 -3
- package/dist/src/fetch/index.js.map +1 -1
- package/dist/src/identify/consts.d.ts +1 -1
- package/dist/src/identify/consts.d.ts.map +1 -1
- package/dist/src/libp2p.js +1 -1
- package/dist/src/libp2p.js.map +1 -1
- package/dist/src/ping/index.d.ts.map +1 -1
- package/dist/src/ping/index.js +7 -3
- package/dist/src/ping/index.js.map +1 -1
- package/dist/src/upgrader.d.ts.map +1 -1
- package/dist/src/upgrader.js +5 -4
- package/dist/src/upgrader.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.d.ts.map +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/package.json +21 -22
- package/src/autonat/index.ts +20 -7
- package/src/circuit-relay/transport/reservation-store.ts +1 -1
- package/src/circuit-relay/utils.ts +18 -7
- package/src/config.ts +2 -2
- package/src/connection-manager/auto-dial.ts +22 -2
- package/src/connection-manager/constants.browser.ts +7 -7
- package/src/connection-manager/constants.defaults.ts +8 -3
- package/src/connection-manager/constants.ts +7 -7
- package/src/connection-manager/dial-queue.ts +2 -2
- package/src/connection-manager/index.ts +17 -8
- package/src/fetch/index.ts +8 -3
- package/src/libp2p.ts +1 -1
- package/src/ping/index.ts +8 -3
- package/src/upgrader.ts +8 -5
- package/src/version.ts +1 -1
- package/dist/typedoc-urls.json +0 -58
package/dist/src/upgrader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrader.js","sourceRoot":"","sources":["../../src/upgrader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"upgrader.js","sourceRoot":"","sources":["../../src/upgrader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,KAAK,GAAG,MAAM,4BAA4B,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAA;AAC3E,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAA;AAe1F,MAAM,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAA;AAiCrC,SAAS,uBAAuB,CAAE,QAAgB,EAAE,SAAoB;IACtE,IAAI;QACF,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;QAElD,OAAO,OAAO,CAAC,iBAAiB,CAAA;KACjC;IAAC,OAAO,GAAQ,EAAE;QACjB,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,2BAA2B,EAAE;YAClD,MAAM,GAAG,CAAA;SACV;KACF;IAED,OAAO,2BAA2B,CAAA;AACpC,CAAC;AAED,SAAS,uBAAuB,CAAE,QAAgB,EAAE,SAAoB,EAAE,UAA4B,EAAE;IACtG,IAAI;QACF,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;QAElD,IAAI,OAAO,CAAC,kBAAkB,IAAI,IAAI,EAAE;YACtC,OAAO,OAAO,CAAC,kBAAkB,CAAA;SAClC;KACF;IAAC,OAAO,GAAQ,EAAE;QACjB,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,2BAA2B,EAAE;YAClD,MAAM,GAAG,CAAA;SACV;KACF;IAED,OAAO,OAAO,CAAC,kBAAkB,IAAI,4BAA4B,CAAA;AACnE,CAAC;AAED,SAAS,YAAY,CAAE,QAAgB,EAAE,SAAiC,EAAE,UAAsB;IAChG,IAAI,WAAW,GAAG,CAAC,CAAA;IAEnB,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAClC,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;YAClE,WAAW,EAAE,CAAA;SACd;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,WAAW,CAAA;AACpB,CAAC;AAiBD,MAAM,OAAO,eAAe;IACT,UAAU,CAA2B;IACrC,oBAAoB,CAAkC;IACtD,MAAM,CAAiC;IACvC,qBAAqB,CAAQ;IAC7B,MAAM,CAA4B;IAEnD,YAAa,UAAqC,EAAE,IAAkB;QACpE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,oBAAoB,GAAG,IAAI,GAAG,EAAE,CAAA;QAErC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC5C,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QAC9D,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAE,CAAA;QAEvB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QACxC,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,IAAI,uBAAuB,CAAA;QAClF,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;IACjC,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAE,UAAkB,EAAE,MAA2B,EAAE,cAAoC;QAChH,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,cAAc,CAAC,CAAA;QAEvE,IAAI,eAAe,KAAK,SAAS,EAAE;YACjC,IAAI,MAAM,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE;gBAC7C,MAAM,IAAI,SAAS,CAAC,gDAAgD,cAAc,EAAE,EAAE,KAAK,CAAC,0BAA0B,CAAC,CAAA;aACxH;SACF;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAE,MAA2B,EAAE,IAAsB;QACvE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAA;QAEvF,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,SAAS,CAAC,mBAAmB,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAA;SACtE;QAED,IAAI,aAA4B,CAAA;QAChC,IAAI,UAAU,CAAA;QACd,IAAI,YAAmF,CAAA;QACvF,IAAI,YAA4C,CAAA;QAChD,IAAI,cAAc,CAAA;QAElB,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;QAE9D,MAAM,OAAO,GAAG,GAAS,EAAE;YACzB,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,yBAAyB,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAA;QAC3E,CAAC,CAAA;QAED,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QAEzD,IAAI;YACF,uBAAuB;YACvB,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;SACpC;QAAC,MAAM,GAAG;QAEX,IAAI;YACF,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,EAAE;gBACpF,MAAM,IAAI,SAAS,CAAC,+DAA+D,EAAE,KAAK,CAAC,0BAA0B,CAAC,CAAA;aACvH;YAED,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAA;YAEzD,GAAG,CAAC,yCAAyC,CAAC,CAAA;YAE9C,UAAU;YACV,IAAI,aAAa,GAAG,MAAM,CAAA;YAE1B,IAAI,IAAI,EAAE,cAAc,KAAK,IAAI,EAAE;gBACjC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAA;gBAErD,IAAI,SAAS,IAAI,IAAI,EAAE;oBACrB,GAAG,CAAC,mCAAmC,CAAC,CAAA;oBACxC,aAAa,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;iBAChD;aACF;YAED,IAAI;gBACF,yBAAyB;gBACzB,aAAa,GAAG,aAAa,CAAA;gBAC7B,IAAI,IAAI,EAAE,cAAc,KAAK,IAAI,EAAE;oBACjC,CAAC;wBACC,IAAI,EAAE,aAAa;wBACnB,UAAU;wBACV,QAAQ,EAAE,cAAc;qBACzB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAA;oBAE9C,MAAM,MAAM,GAAwB;wBAClC,GAAG,aAAa;wBAChB,GAAG,aAAa;qBACjB,CAAA;oBAED,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,gCAAgC,CAAC,CAAA;iBACvF;qBAAM;oBACL,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,CAAA;oBAE3C,IAAI,KAAK,IAAI,IAAI,EAAE;wBACjB,MAAM,IAAI,SAAS,CAAC,gEAAgE,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAA;qBACnH;oBAED,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;oBAE5C,cAAc,GAAG,QAAQ,CAAA;oBACzB,UAAU,GAAG,YAAY,CAAA;iBAC1B;gBAED,YAAY,GAAG,aAAa,CAAA;gBAC5B,IAAI,IAAI,EAAE,YAAY,IAAI,IAAI,EAAE;oBAC9B,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;iBACjC;qBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE;oBAC/B,2BAA2B;oBAC3B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC;wBAC/C,GAAG,aAAa;wBAChB,GAAG,aAAa;qBACjB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;oBACf,YAAY,GAAG,WAAW,CAAC,YAAY,CAAA;oBACvC,YAAY,GAAG,WAAW,CAAC,MAAM,CAAA;iBAClC;aACF;YAAC,OAAO,GAAQ,EAAE;gBACjB,GAAG,CAAC,KAAK,CAAC,sCAAsC,EAAE,GAAG,CAAC,CAAA;gBACtD,MAAM,GAAG,CAAA;aACV;YAED,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,+BAA+B,CAAC,CAAA;YAErF,GAAG,CAAC,0CAA0C,CAAC,CAAA;YAE/C,OAAO,IAAI,CAAC,iBAAiB,CAAC;gBAC5B,cAAc;gBACd,SAAS,EAAE,SAAS;gBACpB,MAAM;gBACN,YAAY;gBACZ,YAAY;gBACZ,UAAU;gBACV,SAAS,EAAE,IAAI,EAAE,SAAS;aAC3B,CAAC,CAAA;SACH;gBAAS;YACR,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAE5C,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,CAAA;SACxD;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAE,MAA2B,EAAE,IAAsB;QACxE,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,CAAA;QAC3C,IAAI,YAAgC,CAAA;QAEpC,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;YAEtC,MAAM,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,wBAAwB,CAAC,CAAA;SACjF;QAED,IAAI,aAAa,CAAA;QACjB,IAAI,UAAkB,CAAA;QACtB,IAAI,YAAmF,CAAA;QACvF,IAAI,cAAc,CAAA;QAClB,IAAI,YAAY,CAAA;QAEhB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAA;QAEzD,GAAG,CAAC,0CAA0C,CAAC,CAAA;QAE/C,iEAAiE;QACjE,2BAA2B;QAE3B,UAAU;QACV,IAAI,aAAa,GAAG,MAAM,CAAA;QAC1B,IAAI,IAAI,EAAE,cAAc,KAAK,IAAI,EAAE;YACjC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAA;YAErD,IAAI,SAAS,IAAI,IAAI,EAAE;gBACrB,aAAa,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;aAChD;SACF;QAED,IAAI;YACF,yBAAyB;YACzB,aAAa,GAAG,aAAa,CAAA;YAC7B,IAAI,IAAI,EAAE,cAAc,KAAK,IAAI,EAAE;gBACjC,CAAC;oBACC,IAAI,EAAE,aAAa;oBACnB,UAAU;oBACV,QAAQ,EAAE,cAAc;iBACzB,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAA;gBAE7D,MAAM,MAAM,GAAwB;oBAClC,GAAG,aAAa;oBAChB,GAAG,aAAa;iBACjB,CAAA;gBAED,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,iCAAiC,CAAC,CAAA;aACxF;iBAAM;gBACL,IAAI,YAAY,IAAI,IAAI,EAAE;oBACxB,MAAM,IAAI,SAAS,CAAC,kDAAkD,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAA;iBAChG;gBAED,cAAc,GAAG,QAAQ,CAAA;gBACzB,UAAU,GAAG,YAAY,CAAA;aAC1B;YAED,YAAY,GAAG,aAAa,CAAA;YAC5B,IAAI,IAAI,EAAE,YAAY,IAAI,IAAI,EAAE;gBAC9B,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;aACjC;iBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE;gBAC/B,2BAA2B;gBAC3B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC;oBAChD,GAAG,aAAa;oBAChB,GAAG,aAAa;iBACjB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;gBACf,YAAY,GAAG,WAAW,CAAC,YAAY,CAAA;gBACvC,YAAY,GAAG,WAAW,CAAC,MAAM,CAAA;aAClC;SACF;QAAC,OAAO,GAAQ,EAAE;YACjB,GAAG,CAAC,KAAK,CAAC,uCAAuC,EAAE,GAAG,CAAC,CAAA;YACvD,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACvB,MAAM,GAAG,CAAA;SACV;QAED,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,gCAAgC,CAAC,CAAA;QAEtF,GAAG,CAAC,2CAA2C,CAAC,CAAA;QAEhD,OAAO,IAAI,CAAC,iBAAiB,CAAC;YAC5B,cAAc;YACd,SAAS,EAAE,UAAU;YACrB,MAAM;YACN,YAAY;YACZ,YAAY;YACZ,UAAU;YACV,SAAS,EAAE,IAAI,EAAE,SAAS;SAC3B,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAE,IAA6B;QAC9C,MAAM,EACJ,cAAc,EACd,SAAS,EACT,MAAM,EACN,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,SAAS,EACV,GAAG,IAAI,CAAA;QAER,IAAI,KAA8B,CAAA;QAClC,IAAI,SAA2F,CAAA;QAC/F,IAAI,UAAsB,CAAA,CAAC,mCAAmC;QAE9D,IAAI,YAAY,IAAI,IAAI,EAAE;YACxB,mBAAmB;YACnB,KAAK,GAAG,YAAY,CAAC,iBAAiB,CAAC;gBACrC,SAAS;gBACT,yCAAyC;gBACzC,gBAAgB,EAAE,WAAW,CAAC,EAAE;oBAC9B,IAAI,UAAU,IAAI,IAAI,EAAE;wBACtB,OAAM;qBACP;oBAED,KAAK,OAAO,CAAC,OAAO,EAAE;yBACnB,IAAI,CAAC,KAAK,IAAI,EAAE;wBACf,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,YAAY,EAAE,CAAA;wBAC1D,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;wBACrE,GAAG,CAAC,kCAAkC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;wBAE5D,IAAI,UAAU,IAAI,IAAI,EAAE;4BACtB,OAAM;yBACP;wBAED,MAAM,aAAa,GAAG,uBAAuB,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;wBAClF,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;wBAEjE,IAAI,WAAW,KAAK,aAAa,EAAE;4BACjC,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,mDAAmD,QAAQ,aAAa,aAAa,EAAE,EAAE,KAAK,CAAC,qCAAqC,CAAC,CAAA;4BAC/J,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;4BAEtB,MAAM,GAAG,CAAA;yBACV;wBAED,0EAA0E;wBAC1E,iBAAiB;wBACjB,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;wBAClC,WAAW,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;wBAC9B,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAA;wBAE/B,gGAAgG;wBAChG,6EAA6E;wBAC7E,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE;4BAChD,SAAS,EAAE,CAAC,QAAQ,CAAC;yBACtB,CAAC,CAAA;wBAEF,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,mBAAmB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;wBAErE,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAA;oBAC/D,CAAC,CAAC;yBACD,KAAK,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;wBACjB,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;wBAEd,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,EAAE;4BACtC,MAAM,WAAW,CAAC,KAAK,EAAE,CAAA;yBAC1B;oBACH,CAAC,CAAC,CAAA;gBACN,CAAC;aACF,CAAC,CAAA;YAEF,SAAS,GAAG,KAAK,EAAE,SAAmB,EAAE,UAA4B,EAAE,EAAmB,EAAE;gBACzF,IAAI,KAAK,IAAI,IAAI,EAAE;oBACjB,MAAM,IAAI,SAAS,CAAC,2BAA2B,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAA;iBAC9E;gBAED,GAAG,CAAC,+BAA+B,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;gBAC1D,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,CAAA;gBAE3C,IAAI;oBACF,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE;wBAC1B,GAAG,CAAC,mGAAmG,EAAE,SAAS,CAAC,CAAA;wBAEnH,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;wBAE3C,IAAI;4BACF,uBAAuB;4BACvB,eAAe,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;yBAC5C;wBAAC,MAAM,GAAG;qBACZ;oBAED,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;oBAE9E,MAAM,aAAa,GAAG,uBAAuB,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;oBAC3F,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAA;oBAElE,IAAI,WAAW,IAAI,aAAa,EAAE;wBAChC,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,oDAAoD,QAAQ,aAAa,aAAa,EAAE,EAAE,KAAK,CAAC,sCAAsC,CAAC,CAAA;wBACjK,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;wBAEtB,MAAM,GAAG,CAAA;qBACV;oBAED,gGAAgG;oBAChG,6EAA6E;oBAC7E,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE;wBAChD,SAAS,EAAE,CAAC,QAAQ,CAAC;qBACtB,CAAC,CAAA;oBAEF,0EAA0E;oBAC1E,iBAAiB;oBACjB,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;oBAClC,WAAW,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;oBAC9B,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAA;oBAE/B,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,mBAAmB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;oBAErE,OAAO,WAAW,CAAA;iBACnB;gBAAC,OAAO,GAAQ,EAAE;oBACjB,GAAG,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAA;oBAE7C,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,EAAE;wBACtC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;qBACvB;oBAED,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE;wBACpB,MAAM,GAAG,CAAA;qBACV;oBAED,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,wBAAwB,CAAC,CAAA;iBACjE;YACH,CAAC,CAAA;YAED,kCAAkC;YAClC,KAAK,OAAO,CAAC,GAAG,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;gBAC/B,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;aAChC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBACb,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAChB,CAAC,CAAC,CAAA;SACH;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAA;QACjC,MAAM,CAAC,QAAQ,GAAG,IAAI,KAAK,CAAC,SAAS,EAAE;YACrC,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE;gBACf,IAAI,UAAU,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,SAAS,CAAC,KAAK,IAAI,IAAI,EAAE;oBAC3F,2DAA2D;oBAC3D,CAAC,KAAK,IAAI,EAAE;wBACV,IAAI;4BACF,IAAI,UAAU,CAAC,MAAM,KAAK,MAAM,EAAE;gCAChC,MAAM,UAAU,CAAC,KAAK,EAAE,CAAA;6BACzB;yBACF;wBAAC,OAAO,GAAQ,EAAE;4BACjB,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;yBACf;gCAAS;4BACR,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,kBAAkB,EAAE;gCAChD,MAAM,EAAE,UAAU;6BACnB,CAAC,CAAA;yBACH;oBACH,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;wBACf,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;oBAChB,CAAC,CAAC,CAAA;iBACH;gBAED,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;YAC7B,CAAC;SACF,CAAC,CAAA;QACF,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAErC,MAAM,2BAA2B,GAAG,GAAQ,EAAE;YAC5C,MAAM,IAAI,SAAS,CAAC,+BAA+B,EAAE,KAAK,CAAC,8BAA8B,CAAC,CAAA;QAC5F,CAAC,CAAA;QAED,wBAAwB;QACxB,UAAU,GAAG,gBAAgB,CAAC;YAC5B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,UAAU;YACV,MAAM,EAAE,MAAM;YACd,SAAS;YACT,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,WAAW,EAAE,KAAK,EAAE,QAAQ;YAC5B,UAAU,EAAE,cAAc;YAC1B,SAAS;YACT,SAAS,EAAE,SAAS,IAAI,2BAA2B;YACnD,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI,KAAK,IAAI,IAAI,EAAE;gBAAE,OAAO,KAAK,CAAC,OAAO,CAAA;aAAE;iBAAM;gBAAE,OAAO,EAAE,CAAA;aAAE,CAAC,CAAC;YACpF,KAAK,EAAE,KAAK,EAAE,OAAsB,EAAE,EAAE;gBACtC,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;gBAC3B,iDAAiD;gBACjD,IAAI,KAAK,IAAI,IAAI,EAAE;oBACjB,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;iBAC3B;YACH,CAAC;YACD,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;gBACb,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBACjB,uCAAuC;gBACvC,IAAI,KAAK,IAAI,IAAI,EAAE;oBACjB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;iBACjB;YACH,CAAC;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,EAAE;YAC/C,MAAM,EAAE,UAAU;SACnB,CAAC,CAAA;QAEF,OAAO,UAAU,CAAA;IACnB,CAAC;IAED;;OAEG;IACH,SAAS,CAAE,IAAqB;QAC9B,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QAC7C,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;QAE3E,IAAI,UAAU,CAAC,SAAS,IAAI,OAAO,CAAC,wBAAwB,KAAK,IAAI,EAAE;YACrE,MAAM,IAAI,SAAS,CAAC,qDAAqD,EAAE,0BAA0B,CAAC,CAAA;SACvG;QAED,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAA;IACjC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAE,UAAkE;QACvF,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAA;QAC9D,GAAG,CAAC,4CAA4C,EAAE,SAAS,CAAC,CAAA;QAE5D,IAAI;YACF,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE;gBACnE,UAAU,EAAE,IAAI;aACjB,CAAC,CAAA;YACF,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAEzD,IAAI,SAAS,IAAI,IAAI,EAAE;gBACrB,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,EAAE,CAAC,CAAA;aAC1D;YAED,GAAG,CAAC,kCAAkC,CAAC,CAAA;YAEvC,OAAO;gBACL,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC;gBAChE,QAAQ;aACT,CAAA;SACF;QAAC,OAAO,GAAQ,EAAE;YACjB,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAA;SAC9D;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CAAE,UAA+B,EAAE,YAAqB;QAC5E,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAA;QAC9D,GAAG,CAAC,oCAAoC,EAAE,SAAS,CAAC,CAAA;QAEpD,IAAI;YACF,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE;gBACnE,UAAU,EAAE,IAAI;aACjB,CAAC,CAAA;YACF,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAEzD,IAAI,SAAS,IAAI,IAAI,EAAE;gBACrB,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,EAAE,CAAC,CAAA;aAC1D;YAED,GAAG,CAAC,sCAAsC,EAAE,YAAY,CAAC,CAAA;YAEzD,OAAO;gBACL,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC;gBAC/E,QAAQ;aACT,CAAA;SACF;QAAC,OAAO,GAAQ,EAAE;YACjB,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAA;SAC9D;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CAAE,UAA+B,EAAE,MAAuC;QAChG,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QAC3C,GAAG,CAAC,6BAA6B,EAAE,SAAS,CAAC,CAAA;QAC7C,IAAI;YACF,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE;gBACnE,UAAU,EAAE,IAAI;aACjB,CAAC,CAAA;YACF,GAAG,CAAC,+BAA+B,EAAE,QAAQ,CAAC,CAAA;YAC9C,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAEzC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAA;SAChC;QAAC,OAAO,GAAQ,EAAE;YACjB,GAAG,CAAC,KAAK,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAA;YACpD,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAA;SAC9D;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CAAE,UAA+B,EAAE,MAAuC;QAC/F,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QAC3C,GAAG,CAAC,4BAA4B,EAAE,SAAS,CAAC,CAAA;QAC5C,IAAI;YACF,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE;gBACnE,UAAU,EAAE,IAAI;aACjB,CAAC,CAAA;YACF,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAEzC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAA;SAChC;QAAC,OAAO,GAAQ,EAAE;YACjB,GAAG,CAAC,KAAK,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAA;YACnD,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAA;SAC9D;IACH,CAAC;CACF"}
|
package/dist/src/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,oBAAoB,CAAA;AACxC,eAAO,MAAM,IAAI,WAAW,CAAA"}
|
package/dist/src/version.js
CHANGED
package/dist/src/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,iBAAiB,CAAA;AACxC,MAAM,CAAC,MAAM,IAAI,GAAG,QAAQ,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "libp2p",
|
|
3
|
-
"version": "0.46.
|
|
3
|
+
"version": "0.46.9-28d6722f",
|
|
4
4
|
"description": "JavaScript implementation of libp2p, a modular peer to peer network stack",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p/tree/master/packages/libp2p#readme",
|
|
@@ -120,22 +120,21 @@
|
|
|
120
120
|
},
|
|
121
121
|
"dependencies": {
|
|
122
122
|
"@achingbrain/nat-port-mapper": "^1.0.9",
|
|
123
|
-
"@libp2p/crypto": "
|
|
124
|
-
"@libp2p/interface": "
|
|
125
|
-
"@libp2p/interface-internal": "
|
|
126
|
-
"@libp2p/keychain": "
|
|
127
|
-
"@libp2p/logger": "
|
|
128
|
-
"@libp2p/multistream-select": "
|
|
129
|
-
"@libp2p/peer-collections": "
|
|
130
|
-
"@libp2p/peer-id": "
|
|
131
|
-
"@libp2p/peer-id-factory": "
|
|
132
|
-
"@libp2p/peer-record": "
|
|
133
|
-
"@libp2p/peer-store": "
|
|
134
|
-
"@libp2p/utils": "
|
|
123
|
+
"@libp2p/crypto": "2.0.3-28d6722f",
|
|
124
|
+
"@libp2p/interface": "0.1.2-28d6722f",
|
|
125
|
+
"@libp2p/interface-internal": "0.1.4-28d6722f",
|
|
126
|
+
"@libp2p/keychain": "3.0.3-28d6722f",
|
|
127
|
+
"@libp2p/logger": "3.0.2-28d6722f",
|
|
128
|
+
"@libp2p/multistream-select": "4.0.2-28d6722f",
|
|
129
|
+
"@libp2p/peer-collections": "4.0.3-28d6722f",
|
|
130
|
+
"@libp2p/peer-id": "3.0.2-28d6722f",
|
|
131
|
+
"@libp2p/peer-id-factory": "3.0.3-28d6722f",
|
|
132
|
+
"@libp2p/peer-record": "6.0.3-28d6722f",
|
|
133
|
+
"@libp2p/peer-store": "9.0.3-28d6722f",
|
|
134
|
+
"@libp2p/utils": "4.0.2-28d6722f",
|
|
135
135
|
"@multiformats/mafmt": "^12.1.2",
|
|
136
136
|
"@multiformats/multiaddr": "^12.1.5",
|
|
137
137
|
"@multiformats/multiaddr-matcher": "^1.0.0",
|
|
138
|
-
"abortable-iterator": "^5.0.1",
|
|
139
138
|
"any-signal": "^4.1.1",
|
|
140
139
|
"datastore-core": "^9.0.1",
|
|
141
140
|
"delay": "^6.0.0",
|
|
@@ -170,17 +169,17 @@
|
|
|
170
169
|
"@chainsafe/libp2p-gossipsub": "^10.0.0",
|
|
171
170
|
"@chainsafe/libp2p-noise": "^13.0.0",
|
|
172
171
|
"@chainsafe/libp2p-yamux": "^5.0.0",
|
|
173
|
-
"@libp2p/bootstrap": "
|
|
172
|
+
"@libp2p/bootstrap": "9.0.5-28d6722f",
|
|
174
173
|
"@libp2p/daemon-client": "^7.0.0",
|
|
175
174
|
"@libp2p/daemon-server": "^6.0.0",
|
|
176
|
-
"@libp2p/floodsub": "
|
|
177
|
-
"@libp2p/interface-compliance-tests": "
|
|
175
|
+
"@libp2p/floodsub": "8.0.6-28d6722f",
|
|
176
|
+
"@libp2p/interface-compliance-tests": "4.0.5-28d6722f",
|
|
178
177
|
"@libp2p/interop": "^9.0.0",
|
|
179
|
-
"@libp2p/kad-dht": "
|
|
180
|
-
"@libp2p/mdns": "
|
|
181
|
-
"@libp2p/mplex": "
|
|
182
|
-
"@libp2p/tcp": "
|
|
183
|
-
"@libp2p/websockets": "
|
|
178
|
+
"@libp2p/kad-dht": "10.0.5-28d6722f",
|
|
179
|
+
"@libp2p/mdns": "9.0.6-28d6722f",
|
|
180
|
+
"@libp2p/mplex": "9.0.5-28d6722f",
|
|
181
|
+
"@libp2p/tcp": "8.0.5-28d6722f",
|
|
182
|
+
"@libp2p/websockets": "7.0.5-28d6722f",
|
|
184
183
|
"@types/xsalsa20": "^1.1.0",
|
|
185
184
|
"aegir": "^40.0.8",
|
|
186
185
|
"execa": "^8.0.1",
|
package/src/autonat/index.ts
CHANGED
|
@@ -20,17 +20,18 @@
|
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
22
|
import { setMaxListeners } from 'events'
|
|
23
|
+
import { CodeError } from '@libp2p/interface/errors'
|
|
23
24
|
import { logger } from '@libp2p/logger'
|
|
24
25
|
import { peerIdFromBytes } from '@libp2p/peer-id'
|
|
25
26
|
import { createEd25519PeerId } from '@libp2p/peer-id-factory'
|
|
26
27
|
import { multiaddr, protocols } from '@multiformats/multiaddr'
|
|
27
|
-
import { abortableDuplex } from 'abortable-iterator'
|
|
28
28
|
import first from 'it-first'
|
|
29
29
|
import * as lp from 'it-length-prefixed'
|
|
30
30
|
import map from 'it-map'
|
|
31
31
|
import parallel from 'it-parallel'
|
|
32
32
|
import { pipe } from 'it-pipe'
|
|
33
33
|
import isPrivateIp from 'private-ip'
|
|
34
|
+
import { codes } from '../errors.js'
|
|
34
35
|
import {
|
|
35
36
|
MAX_INBOUND_STREAMS,
|
|
36
37
|
MAX_OUTBOUND_STREAMS,
|
|
@@ -155,6 +156,12 @@ class DefaultAutoNATService implements Startable {
|
|
|
155
156
|
async handleIncomingAutonatStream (data: IncomingStreamData): Promise<void> {
|
|
156
157
|
const signal = AbortSignal.timeout(this.timeout)
|
|
157
158
|
|
|
159
|
+
const onAbort = (): void => {
|
|
160
|
+
data.stream.abort(new CodeError('handleIncomingAutonatStream timeout', codes.ERR_TIMEOUT))
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
signal.addEventListener('abort', onAbort, { once: true })
|
|
164
|
+
|
|
158
165
|
// this controller may be used while dialing lots of peers so prevent MaxListenersExceededWarning
|
|
159
166
|
// appearing in the console
|
|
160
167
|
try {
|
|
@@ -166,11 +173,10 @@ class DefaultAutoNATService implements Startable {
|
|
|
166
173
|
.map(ma => ma.toOptions().host)
|
|
167
174
|
|
|
168
175
|
try {
|
|
169
|
-
const source = abortableDuplex(data.stream, signal)
|
|
170
176
|
const self = this
|
|
171
177
|
|
|
172
178
|
await pipe(
|
|
173
|
-
|
|
179
|
+
data.stream,
|
|
174
180
|
(source) => lp.decode(source),
|
|
175
181
|
async function * (stream) {
|
|
176
182
|
const buf = await first(stream)
|
|
@@ -379,12 +385,12 @@ class DefaultAutoNATService implements Startable {
|
|
|
379
385
|
})
|
|
380
386
|
},
|
|
381
387
|
(source) => lp.encode(source),
|
|
382
|
-
// pipe to the stream, not the abortable source other wise we
|
|
383
|
-
// can't tell the remote when a dial timed out..
|
|
384
388
|
data.stream
|
|
385
389
|
)
|
|
386
390
|
} catch (err) {
|
|
387
391
|
log.error('error handling incoming autonat stream', err)
|
|
392
|
+
} finally {
|
|
393
|
+
signal.removeEventListener('abort', onAbort)
|
|
388
394
|
}
|
|
389
395
|
}
|
|
390
396
|
|
|
@@ -453,6 +459,8 @@ class DefaultAutoNATService implements Startable {
|
|
|
453
459
|
const networkSegments: string[] = []
|
|
454
460
|
|
|
455
461
|
const verifyAddress = async (peer: PeerInfo): Promise<Message.DialResponse | undefined> => {
|
|
462
|
+
let onAbort = (): void => {}
|
|
463
|
+
|
|
456
464
|
try {
|
|
457
465
|
log('asking %p to verify multiaddr', peer.id)
|
|
458
466
|
|
|
@@ -463,12 +471,15 @@ class DefaultAutoNATService implements Startable {
|
|
|
463
471
|
const stream = await connection.newStream(this.protocol, {
|
|
464
472
|
signal
|
|
465
473
|
})
|
|
466
|
-
|
|
474
|
+
|
|
475
|
+
onAbort = () => { stream.abort(new CodeError('verifyAddress timeout', codes.ERR_TIMEOUT)) }
|
|
476
|
+
|
|
477
|
+
signal.addEventListener('abort', onAbort, { once: true })
|
|
467
478
|
|
|
468
479
|
const buf = await pipe(
|
|
469
480
|
[request],
|
|
470
481
|
(source) => lp.encode(source),
|
|
471
|
-
|
|
482
|
+
stream,
|
|
472
483
|
(source) => lp.decode(source),
|
|
473
484
|
async (stream) => first(stream)
|
|
474
485
|
)
|
|
@@ -510,6 +521,8 @@ class DefaultAutoNATService implements Startable {
|
|
|
510
521
|
return response.dialResponse
|
|
511
522
|
} catch (err) {
|
|
512
523
|
log.error('error asking remote to verify multiaddr', err)
|
|
524
|
+
} finally {
|
|
525
|
+
signal.removeEventListener('abort', onAbort)
|
|
513
526
|
}
|
|
514
527
|
}
|
|
515
528
|
|
|
@@ -261,7 +261,7 @@ export class ReservationStore extends EventEmitter<ReservationStoreEvents> imple
|
|
|
261
261
|
options.signal?.throwIfAborted()
|
|
262
262
|
|
|
263
263
|
log('requesting reservation from %p', connection.remotePeer)
|
|
264
|
-
const stream = await connection.newStream(RELAY_V2_HOP_CODEC)
|
|
264
|
+
const stream = await connection.newStream(RELAY_V2_HOP_CODEC, options)
|
|
265
265
|
const pbstr = pbStream(stream)
|
|
266
266
|
const hopstr = pbstr.pb(HopMessage)
|
|
267
267
|
await hopstr.write({ type: HopMessage.Type.RESERVE }, options)
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { CodeError } from '@libp2p/interface/errors'
|
|
1
2
|
import { logger } from '@libp2p/logger'
|
|
2
|
-
import { abortableSource } from 'abortable-iterator'
|
|
3
3
|
import { anySignal } from 'any-signal'
|
|
4
4
|
import { CID } from 'multiformats/cid'
|
|
5
5
|
import { sha256 } from 'multiformats/hashes/sha2'
|
|
6
|
+
import { codes } from '../errors.js'
|
|
6
7
|
import { DEFAULT_DATA_LIMIT, DEFAULT_DURATION_LIMIT } from './constants.js'
|
|
7
8
|
import type { Limit } from './pb/index.js'
|
|
8
9
|
import type { Stream } from '@libp2p/interface/connection'
|
|
@@ -58,9 +59,13 @@ const doRelay = (src: Stream, dst: Stream, abortSignal: AbortSignal, limit: Requ
|
|
|
58
59
|
}
|
|
59
60
|
|
|
60
61
|
queueMicrotask(() => {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}
|
|
62
|
+
const onAbort = (): void => {
|
|
63
|
+
dst.abort(new CodeError('duration limit exceeded', codes.ERR_TIMEOUT))
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
signal.addEventListener('abort', onAbort, { once: true })
|
|
67
|
+
|
|
68
|
+
void dst.sink(countStreamBytes(src.source, dataLimit))
|
|
64
69
|
.catch(err => {
|
|
65
70
|
log.error('error while relaying streams src -> dst', err)
|
|
66
71
|
abortStreams(err)
|
|
@@ -69,6 +74,7 @@ const doRelay = (src: Stream, dst: Stream, abortSignal: AbortSignal, limit: Requ
|
|
|
69
74
|
srcDstFinished = true
|
|
70
75
|
|
|
71
76
|
if (dstSrcFinished) {
|
|
77
|
+
signal.removeEventListener('abort', onAbort)
|
|
72
78
|
signal.clear()
|
|
73
79
|
clearTimeout(timeout)
|
|
74
80
|
}
|
|
@@ -76,9 +82,13 @@ const doRelay = (src: Stream, dst: Stream, abortSignal: AbortSignal, limit: Requ
|
|
|
76
82
|
})
|
|
77
83
|
|
|
78
84
|
queueMicrotask(() => {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
}
|
|
85
|
+
const onAbort = (): void => {
|
|
86
|
+
src.abort(new CodeError('duration limit exceeded', codes.ERR_TIMEOUT))
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
signal.addEventListener('abort', onAbort, { once: true })
|
|
90
|
+
|
|
91
|
+
void src.sink(countStreamBytes(dst.source, dataLimit))
|
|
82
92
|
.catch(err => {
|
|
83
93
|
log.error('error while relaying streams dst -> src', err)
|
|
84
94
|
abortStreams(err)
|
|
@@ -87,6 +97,7 @@ const doRelay = (src: Stream, dst: Stream, abortSignal: AbortSignal, limit: Requ
|
|
|
87
97
|
dstSrcFinished = true
|
|
88
98
|
|
|
89
99
|
if (srcDstFinished) {
|
|
100
|
+
signal.removeEventListener('abort', onAbort)
|
|
90
101
|
signal.clear()
|
|
91
102
|
clearTimeout(timeout)
|
|
92
103
|
}
|
package/src/config.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CodeError } from '@libp2p/interface/errors'
|
|
2
2
|
import { FaultTolerance } from '@libp2p/interface/transport'
|
|
3
|
-
import {
|
|
3
|
+
import { defaultAddressSort } from '@libp2p/utils/address-sort'
|
|
4
4
|
import { dnsaddrResolver } from '@multiformats/multiaddr/resolvers'
|
|
5
5
|
import mergeOptions from 'merge-options'
|
|
6
6
|
import { codes, messages } from './errors.js'
|
|
@@ -19,7 +19,7 @@ const DefaultConfig: Partial<Libp2pInit> = {
|
|
|
19
19
|
resolvers: {
|
|
20
20
|
dnsaddr: dnsaddrResolver
|
|
21
21
|
},
|
|
22
|
-
addressSorter:
|
|
22
|
+
addressSorter: defaultAddressSort
|
|
23
23
|
},
|
|
24
24
|
transportManager: {
|
|
25
25
|
faultTolerance: FaultTolerance.FATAL_ALL
|
|
@@ -2,7 +2,7 @@ import { logger } from '@libp2p/logger'
|
|
|
2
2
|
import { PeerMap, PeerSet } from '@libp2p/peer-collections'
|
|
3
3
|
import { toString as uint8ArrayToString } from 'uint8arrays/to-string'
|
|
4
4
|
import { PeerJobQueue } from '../utils/peer-job-queue.js'
|
|
5
|
-
import { AUTO_DIAL_CONCURRENCY, AUTO_DIAL_INTERVAL, AUTO_DIAL_MAX_QUEUE_LENGTH, AUTO_DIAL_PEER_RETRY_THRESHOLD, AUTO_DIAL_PRIORITY, LAST_DIAL_FAILURE_KEY, MIN_CONNECTIONS } from './constants.js'
|
|
5
|
+
import { AUTO_DIAL_CONCURRENCY, AUTO_DIAL_DISCOVERED_PEERS_DEBOUNCE, AUTO_DIAL_INTERVAL, AUTO_DIAL_MAX_QUEUE_LENGTH, AUTO_DIAL_PEER_RETRY_THRESHOLD, AUTO_DIAL_PRIORITY, LAST_DIAL_FAILURE_KEY, MIN_CONNECTIONS } from './constants.js'
|
|
6
6
|
import type { Libp2pEvents } from '@libp2p/interface'
|
|
7
7
|
import type { EventEmitter } from '@libp2p/interface/events'
|
|
8
8
|
import type { PeerStore } from '@libp2p/interface/peer-store'
|
|
@@ -18,6 +18,7 @@ interface AutoDialInit {
|
|
|
18
18
|
autoDialPriority?: number
|
|
19
19
|
autoDialInterval?: number
|
|
20
20
|
autoDialPeerRetryThreshold?: number
|
|
21
|
+
autoDialDiscoveredPeersDebounce?: number
|
|
21
22
|
}
|
|
22
23
|
|
|
23
24
|
interface AutoDialComponents {
|
|
@@ -32,7 +33,8 @@ const defaultOptions = {
|
|
|
32
33
|
autoDialConcurrency: AUTO_DIAL_CONCURRENCY,
|
|
33
34
|
autoDialPriority: AUTO_DIAL_PRIORITY,
|
|
34
35
|
autoDialInterval: AUTO_DIAL_INTERVAL,
|
|
35
|
-
autoDialPeerRetryThreshold: AUTO_DIAL_PEER_RETRY_THRESHOLD
|
|
36
|
+
autoDialPeerRetryThreshold: AUTO_DIAL_PEER_RETRY_THRESHOLD,
|
|
37
|
+
autoDialDiscoveredPeersDebounce: AUTO_DIAL_DISCOVERED_PEERS_DEBOUNCE
|
|
36
38
|
}
|
|
37
39
|
|
|
38
40
|
export class AutoDial implements Startable {
|
|
@@ -44,6 +46,7 @@ export class AutoDial implements Startable {
|
|
|
44
46
|
private readonly autoDialIntervalMs: number
|
|
45
47
|
private readonly autoDialMaxQueueLength: number
|
|
46
48
|
private readonly autoDialPeerRetryThresholdMs: number
|
|
49
|
+
private readonly autoDialDiscoveredPeersDebounce: number
|
|
47
50
|
private autoDialInterval?: ReturnType<typeof setInterval>
|
|
48
51
|
private started: boolean
|
|
49
52
|
private running: boolean
|
|
@@ -61,6 +64,7 @@ export class AutoDial implements Startable {
|
|
|
61
64
|
this.autoDialIntervalMs = init.autoDialInterval ?? defaultOptions.autoDialInterval
|
|
62
65
|
this.autoDialMaxQueueLength = init.maxQueueLength ?? defaultOptions.maxQueueLength
|
|
63
66
|
this.autoDialPeerRetryThresholdMs = init.autoDialPeerRetryThreshold ?? defaultOptions.autoDialPeerRetryThreshold
|
|
67
|
+
this.autoDialDiscoveredPeersDebounce = init.autoDialDiscoveredPeersDebounce ?? defaultOptions.autoDialDiscoveredPeersDebounce
|
|
64
68
|
this.started = false
|
|
65
69
|
this.running = false
|
|
66
70
|
this.queue = new PeerJobQueue({
|
|
@@ -77,6 +81,22 @@ export class AutoDial implements Startable {
|
|
|
77
81
|
log.error(err)
|
|
78
82
|
})
|
|
79
83
|
})
|
|
84
|
+
|
|
85
|
+
// sometimes peers are discovered in quick succession so add a small
|
|
86
|
+
// debounce to ensure all eligible peers are autodialed
|
|
87
|
+
let debounce: ReturnType<typeof setTimeout>
|
|
88
|
+
|
|
89
|
+
// when new peers are discovered, dial them if we don't have
|
|
90
|
+
// enough connections
|
|
91
|
+
components.events.addEventListener('peer:discovery', () => {
|
|
92
|
+
clearTimeout(debounce)
|
|
93
|
+
debounce = setTimeout(() => {
|
|
94
|
+
this.autoDial()
|
|
95
|
+
.catch(err => {
|
|
96
|
+
log.error(err)
|
|
97
|
+
})
|
|
98
|
+
}, this.autoDialDiscoveredPeersDebounce)
|
|
99
|
+
})
|
|
80
100
|
}
|
|
81
101
|
|
|
82
102
|
isStarted (): boolean {
|
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
export * from './constants.defaults.js'
|
|
2
2
|
|
|
3
|
-
/**
|
|
4
|
-
* @see https://libp2p.github.io/js-libp2p/interfaces/index._internal_.ConnectionManagerConfig.html#maxParallelDials
|
|
5
|
-
*/
|
|
6
|
-
export const MAX_PARALLEL_DIALS = 10
|
|
7
|
-
|
|
8
3
|
/**
|
|
9
4
|
* @see https://libp2p.github.io/js-libp2p/interfaces/index._internal_.ConnectionManagerConfig.html#minConnections
|
|
10
5
|
*/
|
|
@@ -16,6 +11,11 @@ export const MIN_CONNECTIONS = 5
|
|
|
16
11
|
export const MAX_CONNECTIONS = 100
|
|
17
12
|
|
|
18
13
|
/**
|
|
19
|
-
* @see https://libp2p.github.io/js-libp2p/interfaces/index._internal_.ConnectionManagerConfig.html#
|
|
14
|
+
* @see https://libp2p.github.io/js-libp2p/interfaces/index._internal_.ConnectionManagerConfig.html#maxParallelDials
|
|
15
|
+
*/
|
|
16
|
+
export const MAX_PARALLEL_DIALS = 50
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* @see https://libp2p.github.io/js-libp2p/interfaces/libp2p.index.unknown.ConnectionManagerInit.html#autoDialPeerRetryThreshold
|
|
20
20
|
*/
|
|
21
|
-
export const
|
|
21
|
+
export const AUTO_DIAL_PEER_RETRY_THRESHOLD = 1000 * 60 * 7
|
|
@@ -16,13 +16,18 @@ export const MAX_PEER_ADDRS_TO_DIAL = 25
|
|
|
16
16
|
/**
|
|
17
17
|
* @see https://libp2p.github.io/js-libp2p/interfaces/index._internal_.ConnectionManagerConfig.html#maxParallelDialsPerPeer
|
|
18
18
|
*/
|
|
19
|
-
export const MAX_PARALLEL_DIALS_PER_PEER =
|
|
19
|
+
export const MAX_PARALLEL_DIALS_PER_PEER = 1
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
22
|
* @see https://libp2p.github.io/js-libp2p/interfaces/index._internal_.ConnectionManagerConfig.html#autoDialInterval
|
|
23
23
|
*/
|
|
24
24
|
export const AUTO_DIAL_INTERVAL = 5000
|
|
25
25
|
|
|
26
|
+
/**
|
|
27
|
+
* @see https://libp2p.github.io/js-libp2p/interfaces/index._internal_.ConnectionManagerConfig.html#autoDialConcurrency
|
|
28
|
+
*/
|
|
29
|
+
export const AUTO_DIAL_CONCURRENCY = 25
|
|
30
|
+
|
|
26
31
|
/**
|
|
27
32
|
* @see https://libp2p.github.io/js-libp2p/interfaces/index._internal_.ConnectionManagerConfig.html#autoDialPriority
|
|
28
33
|
*/
|
|
@@ -34,9 +39,9 @@ export const AUTO_DIAL_PRIORITY = 0
|
|
|
34
39
|
export const AUTO_DIAL_MAX_QUEUE_LENGTH = 100
|
|
35
40
|
|
|
36
41
|
/**
|
|
37
|
-
* @see https://libp2p.github.io/js-libp2p/interfaces/libp2p.index.unknown.ConnectionManagerInit.html#
|
|
42
|
+
* @see https://libp2p.github.io/js-libp2p/interfaces/libp2p.index.unknown.ConnectionManagerInit.html#autoDialDiscoveredPeersDebounce
|
|
38
43
|
*/
|
|
39
|
-
export const
|
|
44
|
+
export const AUTO_DIAL_DISCOVERED_PEERS_DEBOUNCE = 10
|
|
40
45
|
|
|
41
46
|
/**
|
|
42
47
|
* @see https://libp2p.github.io/js-libp2p/interfaces/index._internal_.ConnectionManagerConfig.html#inboundConnectionThreshold
|
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
export * from './constants.defaults.js'
|
|
2
2
|
|
|
3
|
-
/**
|
|
4
|
-
* @see https://libp2p.github.io/js-libp2p/interfaces/index._internal_.ConnectionManagerConfig.html#maxParallelDials
|
|
5
|
-
*/
|
|
6
|
-
export const MAX_PARALLEL_DIALS = 100
|
|
7
|
-
|
|
8
3
|
/**
|
|
9
4
|
* @see https://libp2p.github.io/js-libp2p/interfaces/index._internal_.ConnectionManagerConfig.html#minConnections
|
|
10
5
|
*/
|
|
@@ -16,6 +11,11 @@ export const MIN_CONNECTIONS = 50
|
|
|
16
11
|
export const MAX_CONNECTIONS = 300
|
|
17
12
|
|
|
18
13
|
/**
|
|
19
|
-
* @see https://libp2p.github.io/js-libp2p/interfaces/index._internal_.ConnectionManagerConfig.html#
|
|
14
|
+
* @see https://libp2p.github.io/js-libp2p/interfaces/index._internal_.ConnectionManagerConfig.html#maxParallelDials
|
|
15
|
+
*/
|
|
16
|
+
export const MAX_PARALLEL_DIALS = 100
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* @see https://libp2p.github.io/js-libp2p/interfaces/libp2p.index.unknown.ConnectionManagerInit.html#autoDialPeerRetryThreshold
|
|
20
20
|
*/
|
|
21
|
-
export const
|
|
21
|
+
export const AUTO_DIAL_PEER_RETRY_THRESHOLD = 1000 * 60
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { setMaxListeners } from 'events'
|
|
2
2
|
import { AbortError, CodeError } from '@libp2p/interface/errors'
|
|
3
3
|
import { logger } from '@libp2p/logger'
|
|
4
|
-
import {
|
|
4
|
+
import { defaultAddressSort } from '@libp2p/utils/address-sort'
|
|
5
5
|
import { type Multiaddr, type Resolver, resolvers } from '@multiformats/multiaddr'
|
|
6
6
|
import { dnsaddrResolver } from '@multiformats/multiaddr/resolvers'
|
|
7
7
|
import { type ClearableSignal, anySignal } from 'any-signal'
|
|
@@ -51,7 +51,7 @@ interface DialerInit {
|
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
const defaultOptions = {
|
|
54
|
-
addressSorter:
|
|
54
|
+
addressSorter: defaultAddressSort,
|
|
55
55
|
maxParallelDials: MAX_PARALLEL_DIALS,
|
|
56
56
|
maxPeerAddrsToDial: MAX_PEER_ADDRS_TO_DIAL,
|
|
57
57
|
maxParallelDialsPerPeer: MAX_PARALLEL_DIALS_PER_PEER,
|
|
@@ -2,7 +2,7 @@ import { CodeError } from '@libp2p/interface/errors'
|
|
|
2
2
|
import { KEEP_ALIVE } from '@libp2p/interface/peer-store/tags'
|
|
3
3
|
import { logger } from '@libp2p/logger'
|
|
4
4
|
import { PeerMap } from '@libp2p/peer-collections'
|
|
5
|
-
import {
|
|
5
|
+
import { defaultAddressSort } from '@libp2p/utils/address-sort'
|
|
6
6
|
import { type Multiaddr, type Resolver, multiaddr } from '@multiformats/multiaddr'
|
|
7
7
|
import { dnsaddrResolver } from '@multiformats/multiaddr/resolvers'
|
|
8
8
|
import { RateLimiterMemory } from 'rate-limiter-flexible'
|
|
@@ -10,7 +10,7 @@ import { codes } from '../errors.js'
|
|
|
10
10
|
import { getPeerAddress } from '../get-peer.js'
|
|
11
11
|
import { AutoDial } from './auto-dial.js'
|
|
12
12
|
import { ConnectionPruner } from './connection-pruner.js'
|
|
13
|
-
import { AUTO_DIAL_CONCURRENCY, AUTO_DIAL_MAX_QUEUE_LENGTH, AUTO_DIAL_PRIORITY, DIAL_TIMEOUT, INBOUND_CONNECTION_THRESHOLD, MAX_CONNECTIONS, MAX_INCOMING_PENDING_CONNECTIONS, MAX_PARALLEL_DIALS, MAX_PEER_ADDRS_TO_DIAL, MIN_CONNECTIONS } from './constants.js'
|
|
13
|
+
import { AUTO_DIAL_CONCURRENCY, AUTO_DIAL_MAX_QUEUE_LENGTH, AUTO_DIAL_PRIORITY, DIAL_TIMEOUT, INBOUND_CONNECTION_THRESHOLD, MAX_CONNECTIONS, MAX_INCOMING_PENDING_CONNECTIONS, MAX_PARALLEL_DIALS, MAX_PARALLEL_DIALS_PER_PEER, MAX_PEER_ADDRS_TO_DIAL, MIN_CONNECTIONS } from './constants.js'
|
|
14
14
|
import { DialQueue } from './dial-queue.js'
|
|
15
15
|
import type { PendingDial, AddressSorter, Libp2pEvents, AbortOptions } from '@libp2p/interface'
|
|
16
16
|
import type { Connection, MultiaddrConnection } from '@libp2p/interface/connection'
|
|
@@ -30,14 +30,14 @@ const DEFAULT_DIAL_PRIORITY = 50
|
|
|
30
30
|
export interface ConnectionManagerInit {
|
|
31
31
|
/**
|
|
32
32
|
* The maximum number of connections libp2p is willing to have before it starts
|
|
33
|
-
* pruning connections to reduce resource usage. (default: 300)
|
|
33
|
+
* pruning connections to reduce resource usage. (default: 300, 100 in browsers)
|
|
34
34
|
*/
|
|
35
35
|
maxConnections?: number
|
|
36
36
|
|
|
37
37
|
/**
|
|
38
38
|
* The minimum number of connections below which libp2p will start to dial peers
|
|
39
39
|
* from the peer book. Setting this to 0 effectively disables this behaviour.
|
|
40
|
-
* (default: 50)
|
|
40
|
+
* (default: 50, 5 in browsers)
|
|
41
41
|
*/
|
|
42
42
|
minConnections?: number
|
|
43
43
|
|
|
@@ -68,10 +68,18 @@ export interface ConnectionManagerInit {
|
|
|
68
68
|
|
|
69
69
|
/**
|
|
70
70
|
* When we've failed to dial a peer, do not autodial them again within this
|
|
71
|
-
* number of ms. (default: 1 minute)
|
|
71
|
+
* number of ms. (default: 1 minute, 7 minutes in browsers)
|
|
72
72
|
*/
|
|
73
73
|
autoDialPeerRetryThreshold?: number
|
|
74
74
|
|
|
75
|
+
/**
|
|
76
|
+
* Newly discovered peers may be auto-dialed to increase the number of open
|
|
77
|
+
* connections, but they can be discovered in quick succession so add a small
|
|
78
|
+
* delay before attempting to dial them in case more peers have been
|
|
79
|
+
* discovered. (default: 10ms)
|
|
80
|
+
*/
|
|
81
|
+
autoDialDiscoveredPeersDebounce?: number
|
|
82
|
+
|
|
75
83
|
/**
|
|
76
84
|
* Sort the known addresses of a peer before trying to dial, By default public
|
|
77
85
|
* addresses will be dialled before private (e.g. loopback or LAN) addresses.
|
|
@@ -80,7 +88,7 @@ export interface ConnectionManagerInit {
|
|
|
80
88
|
|
|
81
89
|
/**
|
|
82
90
|
* The maximum number of dials across all peers to execute in parallel.
|
|
83
|
-
* (default: 100)
|
|
91
|
+
* (default: 100, 50 in browsers)
|
|
84
92
|
*/
|
|
85
93
|
maxParallelDials?: number
|
|
86
94
|
|
|
@@ -88,7 +96,7 @@ export interface ConnectionManagerInit {
|
|
|
88
96
|
* To prevent individual peers with large amounts of multiaddrs swamping the
|
|
89
97
|
* dial queue, this value controls how many addresses to dial in parallel per
|
|
90
98
|
* peer. So for example if two peers have 10 addresses and this value is set
|
|
91
|
-
* at 5, we will dial 5 addresses from each at a time. (default:
|
|
99
|
+
* at 5, we will dial 5 addresses from each at a time. (default: 1)
|
|
92
100
|
*/
|
|
93
101
|
maxParallelDialsPerPeer?: number
|
|
94
102
|
|
|
@@ -246,9 +254,10 @@ export class DefaultConnectionManager implements ConnectionManager, Startable {
|
|
|
246
254
|
transportManager: components.transportManager,
|
|
247
255
|
connectionGater: components.connectionGater
|
|
248
256
|
}, {
|
|
249
|
-
addressSorter: init.addressSorter ??
|
|
257
|
+
addressSorter: init.addressSorter ?? defaultAddressSort,
|
|
250
258
|
maxParallelDials: init.maxParallelDials ?? MAX_PARALLEL_DIALS,
|
|
251
259
|
maxPeerAddrsToDial: init.maxPeerAddrsToDial ?? MAX_PEER_ADDRS_TO_DIAL,
|
|
260
|
+
maxParallelDialsPerPeer: init.maxParallelDialsPerPeer ?? MAX_PARALLEL_DIALS_PER_PEER,
|
|
252
261
|
dialTimeout: init.dialTimeout ?? DIAL_TIMEOUT,
|
|
253
262
|
resolvers: init.resolvers ?? {
|
|
254
263
|
dnsaddr: dnsaddrResolver
|
package/src/fetch/index.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { setMaxListeners } from 'events'
|
|
2
2
|
import { CodeError } from '@libp2p/interface/errors'
|
|
3
3
|
import { logger } from '@libp2p/logger'
|
|
4
|
-
import { abortableDuplex } from 'abortable-iterator'
|
|
5
4
|
import first from 'it-first'
|
|
6
5
|
import * as lp from 'it-length-prefixed'
|
|
7
6
|
import { pipe } from 'it-pipe'
|
|
@@ -140,6 +139,7 @@ class DefaultFetchService implements Startable, FetchService {
|
|
|
140
139
|
const connection = await this.components.connectionManager.openConnection(peer, options)
|
|
141
140
|
let signal = options.signal
|
|
142
141
|
let stream: Stream | undefined
|
|
142
|
+
let onAbort = (): void => {}
|
|
143
143
|
|
|
144
144
|
// create a timeout if no abort signal passed
|
|
145
145
|
if (signal == null) {
|
|
@@ -157,15 +157,19 @@ class DefaultFetchService implements Startable, FetchService {
|
|
|
157
157
|
signal
|
|
158
158
|
})
|
|
159
159
|
|
|
160
|
+
onAbort = () => {
|
|
161
|
+
stream?.abort(new CodeError('fetch timeout', codes.ERR_TIMEOUT))
|
|
162
|
+
}
|
|
163
|
+
|
|
160
164
|
// make stream abortable
|
|
161
|
-
|
|
165
|
+
signal.addEventListener('abort', onAbort, { once: true })
|
|
162
166
|
|
|
163
167
|
log('fetch %s', key)
|
|
164
168
|
|
|
165
169
|
const result = await pipe(
|
|
166
170
|
[FetchRequest.encode({ identifier: key })],
|
|
167
171
|
(source) => lp.encode(source),
|
|
168
|
-
|
|
172
|
+
stream,
|
|
169
173
|
(source) => lp.decode(source),
|
|
170
174
|
async function (source) {
|
|
171
175
|
const buf = await first(source)
|
|
@@ -200,6 +204,7 @@ class DefaultFetchService implements Startable, FetchService {
|
|
|
200
204
|
|
|
201
205
|
return result ?? null
|
|
202
206
|
} finally {
|
|
207
|
+
signal.removeEventListener('abort', onAbort)
|
|
203
208
|
if (stream != null) {
|
|
204
209
|
await stream.close()
|
|
205
210
|
}
|