@helia/bitswap 1.0.1-fa9bd4b → 1.1.0-55b9650

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.
@@ -1 +1 @@
1
- {"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/network.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/network.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACjF,OAAO,EAAE,SAAS,EAA4B,MAAM,0BAA0B,CAAA;AAC9E,OAAO,KAAK,MAAM,UAAU,CAAA;AAC5B,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAA;AACxC,OAAO,GAAG,MAAM,QAAQ,CAAA;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,IAAI,MAAM,SAAS,CAAA;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,2BAA2B,EAAE,iCAAiC,EAAE,4BAA4B,EAAE,iCAAiC,EAAE,iCAAiC,EAAE,+BAA+B,EAAE,gCAAgC,EAAE,oCAAoC,EAAE,MAAM,gBAAgB,CAAA;AACzT,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AA0DvD,MAAM,OAAO,OAAQ,SAAQ,iBAAgC;IAC1C,GAAG,CAAQ;IACX,MAAM,CAAQ;IACd,OAAO,CAAS;IAChB,SAAS,CAAU;IAC5B,OAAO,CAAS;IACP,iBAAiB,CAAQ;IACzB,kBAAkB,CAAQ;IAC1B,qBAAqB,CAAQ;IACtC,YAAY,CAAU;IACb,OAAO,CAA8C;IACrD,SAAS,CAAwC;IACjD,yBAAyB,CAAS;IAClC,sBAAsB,CAAQ;IAC9B,sBAAsB,CAAQ;IAE/C,YAAa,UAA6B,EAAE,OAAoB,EAAE;QAChE,KAAK,EAAE,CAAA;QAEP,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAA;QAClE,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;QAC/B,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAA;QACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW,CAAC,CAAA;QAChD,IAAI,CAAC,YAAY,GAAG,EAAE,CAAA;QACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QAEpB,uBAAuB;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC1C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,IAAI,2BAA2B,CAAA;QAC9E,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,IAAI,4BAA4B,CAAA;QACjF,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,IAAI,+BAA+B,CAAA;QAC1F,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,yBAAyB,IAAI,oCAAoC,CAAA;QACvG,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,IAAI,iCAAiC,CAAA;QAC9F,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,sBAAsB,IAAI,iCAAiC,CAAA;QAC7H,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC,iCAAiC,CAAC;YAClF,QAAQ,EAAE,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC,qCAAqC,CAAC;SACrF,CAAA;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC;YAC7B,WAAW,EAAE,IAAI,CAAC,sBAAsB,IAAI,gCAAgC;YAC5E,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,UAAU,EAAE,kCAAkC;SAC/C,CAAC,CAAA;QACF,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAC/C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;QAC9D,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QAEnB,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;YACvD,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,wBAAwB,EAAE,IAAI,CAAC,yBAAyB;SACzD,CAAC,CAAA;QAEF,kCAAkC;QAClC,MAAM,QAAQ,GAAa;YACzB,SAAS,EAAE,CAAC,MAAc,EAAE,EAAE;gBAC5B,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE;oBACvC,MAAM,EAAE,MAAM;iBACf,CAAC,CAAA;YACJ,CAAC;YACD,YAAY,EAAE,CAAC,MAAc,EAAE,EAAE;gBAC/B,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,EAAE;oBAC1C,MAAM,EAAE,MAAM;iBACf,CAAC,CAAA;YACJ,CAAC;SACF,CAAA;QAED,IAAI,CAAC,YAAY,GAAG,EAAE,CAAA;QAEtB,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;QACxE,CAAC;QAED,oDAAoD;QACpD,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC1C,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE;gBACvC,MAAM,EAAE,IAAI,CAAC,UAAU;aACxB,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QAEpB,iEAAiE;QACjE,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAE1C,mCAAmC;QACnC,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;YAC9B,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACnC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;YAC5B,CAAC;YAED,IAAI,CAAC,YAAY,GAAG,EAAE,CAAA;QACxB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,SAAS,CAAE,IAAwB;QACjC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAM;QACR,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAA;QAEnC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAChC,IAAI,CAAC,GAAG,CAAC,wCAAwC,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;YAC1F,MAAM,aAAa,GAAG,GAAS,EAAE;gBAC/B,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBAC7B,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,2CAA2C,IAAI,CAAC,qBAAqB,IAAI,EAAE,aAAa,CAAC,CAAC,CAAA;gBACvH,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,GAAG,CAAC,+BAA+B,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;gBAC1D,CAAC;YACH,CAAC,CAAA;YAED,IAAI,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;YAC5D,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YACjC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;YAE/C,MAAM,MAAM,CAAC,UAAU,EAAE,CAAA;YAEzB,MAAM,IAAI,CACR,MAAM,EACN,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE;gBAC5B,aAAa,EAAE,IAAI,CAAC,sBAAsB;aAC3C,CAAC,EACF,KAAK,EAAE,MAAM,EAAE,EAAE;gBACf,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;oBAChC,IAAI,CAAC;wBACH,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;wBAC3C,IAAI,CAAC,GAAG,CAAC,mDAAmD,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;wBAEhH,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,EAAE;4BACxC,MAAM,EAAE;gCACN,IAAI,EAAE,UAAU,CAAC,UAAU;gCAC3B,OAAO;6BACR;yBACF,CAAC,CAAA;wBAEF,6DAA6D;wBAC7D,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;wBAClD,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;wBACxD,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;wBACjC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;oBACjD,CAAC;oBAAC,OAAO,GAAQ,EAAE,CAAC;wBAClB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0DAA0D,EAAE,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;wBACjH,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;wBACjB,MAAK;oBACP,CAAC;gBACH,CAAC;YACH,CAAC,CACF,CAAA;QACH,CAAC,CAAC;aACC,KAAK,CAAC,GAAG,CAAC,EAAE;YACX,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wCAAwC,EAAE,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;YACpF,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACnB,CAAC,CAAC,CAAA;IACN,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,CAAE,aAAa,CAAE,GAAQ,EAAE,OAA0E;QACzG,OAAO,EAAE,UAAU,EAAE,CAAC,IAAI,mBAAmB,CAAS,gCAAgC,EAAE,GAAG,CAAC,CAAC,CAAA;QAE7F,IAAI,KAAK,EAAE,MAAM,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC;YACtE,qCAAqC;YACrC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE;gBACjE,wBAAwB,EAAE,IAAI,CAAC,yBAAyB;aACzD,CAAC,CAAA;YAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,SAAQ;YACV,CAAC;YAED,MAAM,QAAQ,CAAA;QAChB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAE,GAAQ,EAAE,OAAqB;QACnD,MAAM,KAAK,CACT,GAAG,CACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,YAAY,IAAI,iCAAiC,CAAC,EAClG,KAAK,EAAC,QAAQ,EAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CACvD,CACF;aACE,KAAK,CAAC,GAAG,CAAC,EAAE;YACX,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACrB,CAAC,CAAC,CAAA;IACN,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAE,MAAc,EAAE,OAA6B,EAAE,OAA0E;QAC1I,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;QAC3C,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAClD,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAA;QACrE,CAAC,CAAC,CAAA;QAEF,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;YACxB,WAAW,CAAC,OAAO,CAAC,OAAO,GAAG,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAEjF,MAAM,WAAW,CAAC,IAAI,CAAC;gBACrB,MAAM,EAAE,OAAO,EAAE,MAAM;aACxB,CAAC,CAAA;YAEF,OAAM;QACR,CAAC;QAED,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YACzC,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,CAAA;YAEhC,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;gBACpB,MAAM,IAAI,SAAS,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAAA;YAC7D,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAA;YAErC,OAAO,EAAE,UAAU,EAAE,CAAC,IAAI,mBAAmB,CAAS,+BAA+B,EAAE,MAAM,CAAC,CAAC,CAAA;YAE/F,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;YAC3E,MAAM,MAAM,CAAC,SAAS,EAAE,CAAA;YAExB,IAAI,CAAC;gBACH,MAAM,IAAI,CACR,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC,EAClD,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAC7B,MAAM,CACP,CAAA;gBAED,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC7B,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,OAAO,EAAE,UAAU,EAAE,CAAC,IAAI,mBAAmB,CAAiC,qCAAqC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;gBACnJ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,6BAA6B,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;gBAC1D,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACnB,CAAC;YAED,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACvC,CAAC,EAAE;YACD,MAAM;YACN,MAAM,EAAE,OAAO,EAAE,MAAM;YACvB,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAE,IAAY,EAAE,OAAsE;QACnG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,SAAS,CAAC,wBAAwB,EAAE,iBAAiB,CAAC,CAAA;QAClE,CAAC;QAED,OAAO,EAAE,UAAU,EAAE,CAAC,IAAI,mBAAmB,CAAS,sBAAsB,EAAE,IAAI,CAAC,CAAC,CAAA;QAEpF,0EAA0E;QAC1E,0EAA0E;QAC1E,qBAAqB;QACrB,MAAM,CACJ,UAAU,CACX,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;YAC/B,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE;gBACvD,MAAM,EAAE,CAAC,GAAgC,EAAW,EAAE;oBACpD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;wBACpC,OAAO,KAAK,CAAA;oBACd,CAAC;oBAED,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;wBAC/C,OAAO,IAAI,CAAA;oBACb,CAAC;oBAED,MAAM,IAAI,SAAS,CAAC,GAAG,IAAI,oBAAoB,WAAW,EAAE,EAAE,iCAAiC,CAAC,CAAA;gBAClG,CAAC;aACF,CAAC;SACH,CAAC,CAAA;QAEF,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,gBAAgB,CAAE,MAA0B;QAC1C,IAAI,KAAK,GAAG,CAAC,CAAA;QAEb,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YACpC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAA;QAChC,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;QACvC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACjD,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"ledger.d.ts","sourceRoot":"","sources":["../../../src/peer-want-lists/ledger.ts"],"names":[],"mappings":"AAEA,OAAO,EAA0C,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAEnF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAU,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAE3C,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,UAAU,CAAA;IACtB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,eAAe,CAAA;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,0BAA0B,CAAC,EAAE,MAAM,CAAA;CACpC;AAED,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,GAAG,EAAE,GAAG,CAAA;IAER;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;;OAGG;IACH,QAAQ,EAAE,QAAQ,CAAA;IAElB;;OAEG;IACH,YAAY,EAAE,OAAO,CAAA;IAErB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,qBAAa,MAAM;IACV,MAAM,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAC1B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;IACrC,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IAC5B,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAQ;IACnD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;gBAEf,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,UAAU;IAa3D,SAAS,CAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAM3B,aAAa,CAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAM/B,SAAS,IAAK,MAAM;IAIP,gBAAgB,CAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;CAgFtE"}
1
+ {"version":3,"file":"ledger.d.ts","sourceRoot":"","sources":["../../../src/peer-want-lists/ledger.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqB,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAG9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAU,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAE3C,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,UAAU,CAAA;IACtB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,eAAe,CAAA;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,0BAA0B,CAAC,EAAE,MAAM,CAAA;CACpC;AAED,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,GAAG,EAAE,GAAG,CAAA;IAER;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;;OAGG;IACH,QAAQ,EAAE,QAAQ,CAAA;IAElB;;OAEG;IACH,YAAY,EAAE,OAAO,CAAA;IAErB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,qBAAa,MAAM;IACV,MAAM,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAC1B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;IACrC,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IAC5B,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAQ;IACnD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;gBAEf,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,UAAU;IAa3D,SAAS,CAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAM3B,aAAa,CAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAM/B,SAAS,IAAK,MAAM;IAIP,gBAAgB,CAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;CA6EtE"}
@@ -1,6 +1,7 @@
1
1
  /* eslint-disable max-depth */
2
2
  import { DEFAULT_MAX_SIZE_REPLACE_HAS_WITH_BLOCK } from '../constants.js';
3
3
  import { BlockPresenceType, WantType } from '../pb/message.js';
4
+ import { QueuedBitswapMessage } from '../utils/bitswap-message.js';
4
5
  import { cidToPrefix } from '../utils/cid-prefix.js';
5
6
  export class Ledger {
6
7
  peerId;
@@ -38,14 +39,45 @@ export class Ledger {
38
39
  return (this.bytesSent / (this.bytesReceived + 1)); // +1 is to prevent division by zero
39
40
  }
40
41
  async sendBlocksToPeer(options) {
41
- const message = {
42
- blockPresences: [],
43
- blocks: []
44
- };
42
+ const message = new QueuedBitswapMessage();
45
43
  const sentBlocks = new Set();
46
44
  for (const [key, entry] of this.wants.entries()) {
47
- const has = await this.blockstore.has(entry.cid, options);
48
- if (!has) {
45
+ try {
46
+ const block = await this.blockstore.get(entry.cid, options);
47
+ // do they want the block or just us to tell them we have the block
48
+ if (entry.wantType === WantType.WantHave) {
49
+ if (block.byteLength < this.maxSizeReplaceHasWithBlock) {
50
+ this.log('sending have and block for %c', entry.cid);
51
+ // if the block is small we just send it to them
52
+ sentBlocks.add(key);
53
+ message.addBlock(entry.cid, {
54
+ data: block,
55
+ prefix: cidToPrefix(entry.cid)
56
+ });
57
+ }
58
+ else {
59
+ this.log('sending have for %c', entry.cid);
60
+ // otherwise tell them we have the block
61
+ message.addBlockPresence(entry.cid, {
62
+ cid: entry.cid.bytes,
63
+ type: BlockPresenceType.HaveBlock
64
+ });
65
+ }
66
+ }
67
+ else {
68
+ this.log('sending block for %c', entry.cid);
69
+ // they want the block, send it to them
70
+ sentBlocks.add(key);
71
+ message.addBlock(entry.cid, {
72
+ data: block,
73
+ prefix: cidToPrefix(entry.cid)
74
+ });
75
+ }
76
+ }
77
+ catch (err) {
78
+ if (err.code !== 'ERR_NOT_FOUND') {
79
+ throw err;
80
+ }
49
81
  this.log('do not have block for %c', entry.cid);
50
82
  // we don't have the requested block and the remote is not interested
51
83
  // in us telling them that
@@ -57,50 +89,19 @@ export class Ledger {
57
89
  continue;
58
90
  }
59
91
  entry.sentDontHave = true;
60
- message.blockPresences.push({
92
+ message.addBlockPresence(entry.cid, {
61
93
  cid: entry.cid.bytes,
62
94
  type: BlockPresenceType.DontHaveBlock
63
95
  });
64
- continue;
65
- }
66
- const block = await this.blockstore.get(entry.cid, options);
67
- // do they want the block or just us to tell them we have the block
68
- if (entry.wantType === WantType.WantHave) {
69
- if (block.byteLength < this.maxSizeReplaceHasWithBlock) {
70
- this.log('sending have and block for %c', entry.cid);
71
- // if the block is small we just send it to them
72
- sentBlocks.add(key);
73
- message.blocks.push({
74
- data: block,
75
- prefix: cidToPrefix(entry.cid)
76
- });
77
- }
78
- else {
79
- this.log('sending have for %c', entry.cid);
80
- // otherwise tell them we have the block
81
- message.blockPresences.push({
82
- cid: entry.cid.bytes,
83
- type: BlockPresenceType.HaveBlock
84
- });
85
- }
86
- }
87
- else {
88
- this.log('sending block for %c', entry.cid);
89
- // they want the block, send it to them
90
- sentBlocks.add(key);
91
- message.blocks.push({
92
- data: block,
93
- prefix: cidToPrefix(entry.cid)
94
- });
95
96
  }
96
97
  }
97
98
  // only send the message if we actually have something to send
98
- if (message.blocks.length > 0 || message.blockPresences.length > 0) {
99
+ if (message.blocks.size > 0 || message.blockPresences.size > 0) {
99
100
  this.log('sending message');
100
101
  await this.network.sendMessage(this.peerId, message, options);
101
102
  this.log('sent message');
102
103
  // update accounting
103
- this.sentBytes(message.blocks.reduce((acc, curr) => acc + curr.data.byteLength, 0));
104
+ this.sentBytes([...message.blocks.values()].reduce((acc, curr) => acc + curr.data.byteLength, 0));
104
105
  // remove sent blocks from local copy of their want list - they can still
105
106
  // re-request if required
106
107
  for (const key of sentBlocks) {
@@ -1 +1 @@
1
- {"version":3,"file":"ledger.js","sourceRoot":"","sources":["../../../src/peer-want-lists/ledger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ledger.js","sourceRoot":"","sources":["../../../src/peer-want-lists/ledger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { Block, BlockPresence, WantlistEntry } from '../pb/message.js';
2
+ import type { CID } from 'multiformats';
3
+ /**
4
+ * A bitswap message that is in the send queue. So implemented to be
5
+ * cheap to merge multiple messages when we repeatedly send messages
6
+ * to the same peer.
7
+ */
8
+ export declare class QueuedBitswapMessage {
9
+ full: boolean;
10
+ pendingBytes: number;
11
+ wantlist: Map<string, WantlistEntry>;
12
+ blocks: Map<string, Block>;
13
+ blockPresences: Map<string, BlockPresence>;
14
+ constructor(full?: boolean, pendingBytes?: number);
15
+ addWantlistEntry(cid: CID, entry: WantlistEntry): void;
16
+ addBlockPresence(cid: CID, blockPresence: BlockPresence): void;
17
+ addBlock(cid: CID, block: Block): void;
18
+ }
19
+ //# sourceMappingURL=bitswap-message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bitswap-message.d.ts","sourceRoot":"","sources":["../../../src/utils/bitswap-message.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAC3E,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAEvC;;;;GAIG;AACH,qBAAa,oBAAoB;IACxB,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IACpC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC1B,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;gBAEpC,IAAI,GAAE,OAAe,EAAE,YAAY,GAAE,MAAU;IAQ5D,gBAAgB,CAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI;IAKvD,gBAAgB,CAAE,GAAG,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,GAAG,IAAI;IAK/D,QAAQ,CAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;CAIxC"}
@@ -0,0 +1,33 @@
1
+ import { base64 } from 'multiformats/bases/base64';
2
+ /**
3
+ * A bitswap message that is in the send queue. So implemented to be
4
+ * cheap to merge multiple messages when we repeatedly send messages
5
+ * to the same peer.
6
+ */
7
+ export class QueuedBitswapMessage {
8
+ full;
9
+ pendingBytes;
10
+ wantlist;
11
+ blocks;
12
+ blockPresences;
13
+ constructor(full = false, pendingBytes = 0) {
14
+ this.full = full;
15
+ this.wantlist = new Map();
16
+ this.blocks = new Map();
17
+ this.blockPresences = new Map();
18
+ this.pendingBytes = 0;
19
+ }
20
+ addWantlistEntry(cid, entry) {
21
+ const key = base64.encode(cid.multihash.bytes);
22
+ this.wantlist.set(key, entry);
23
+ }
24
+ addBlockPresence(cid, blockPresence) {
25
+ const key = base64.encode(cid.multihash.bytes);
26
+ this.blockPresences.set(key, blockPresence);
27
+ }
28
+ addBlock(cid, block) {
29
+ const key = base64.encode(cid.multihash.bytes);
30
+ this.blocks.set(key, block);
31
+ }
32
+ }
33
+ //# sourceMappingURL=bitswap-message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bitswap-message.js","sourceRoot":"","sources":["../../../src/utils/bitswap-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAIlD;;;;GAIG;AACH,MAAM,OAAO,oBAAoB;IACxB,IAAI,CAAS;IACb,YAAY,CAAQ;IACpB,QAAQ,CAA4B;IACpC,MAAM,CAAoB;IAC1B,cAAc,CAA4B;IAEjD,YAAa,OAAgB,KAAK,EAAE,eAAuB,CAAC;QAC1D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAA;QACzB,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAE,CAAA;QACvB,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,EAAE,CAAA;QAC/B,IAAI,CAAC,YAAY,GAAG,CAAC,CAAA;IACvB,CAAC;IAED,gBAAgB,CAAE,GAAQ,EAAE,KAAoB;QAC9C,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAC9C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC/B,CAAC;IAED,gBAAgB,CAAE,GAAQ,EAAE,aAA4B;QACtD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAC9C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;IAC7C,CAAC;IAED,QAAQ,CAAE,GAAQ,EAAE,KAAY;QAC9B,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAC9C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC7B,CAAC;CACF"}
@@ -1,3 +1,3 @@
1
- import type { BitswapMessage } from '../pb/message.js';
2
- export declare function mergeMessages(messageA: BitswapMessage, messageB: BitswapMessage): BitswapMessage;
1
+ import type { QueuedBitswapMessage } from './bitswap-message.js';
2
+ export declare function mergeMessages(existingMessage: QueuedBitswapMessage, newMessage: QueuedBitswapMessage): QueuedBitswapMessage;
3
3
  //# sourceMappingURL=merge-messages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"merge-messages.d.ts","sourceRoot":"","sources":["../../../src/utils/merge-messages.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAuC,MAAM,kBAAkB,CAAA;AAE3F,wBAAgB,aAAa,CAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,GAAG,cAAc,CAkEjG"}
1
+ {"version":3,"file":"merge-messages.d.ts","sourceRoot":"","sources":["../../../src/utils/merge-messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAEhE,wBAAgB,aAAa,CAAE,eAAe,EAAE,oBAAoB,EAAE,UAAU,EAAE,oBAAoB,GAAG,oBAAoB,CAkC5H"}
@@ -1,12 +1,6 @@
1
- import { base64 } from 'multiformats/bases/base64';
2
- export function mergeMessages(messageA, messageB) {
3
- const wantListEntries = new Map((messageA.wantlist?.entries ?? []).map(entry => ([
4
- base64.encode(entry.cid),
5
- entry
6
- ])));
7
- for (const entry of messageB.wantlist?.entries ?? []) {
8
- const key = base64.encode(entry.cid);
9
- const existingEntry = wantListEntries.get(key);
1
+ export function mergeMessages(existingMessage, newMessage) {
2
+ for (const [key, entry] of newMessage.wantlist.entries()) {
3
+ const existingEntry = existingMessage.wantlist.get(key);
10
4
  if (existingEntry != null) {
11
5
  // take highest priority
12
6
  if (existingEntry.priority > entry.priority) {
@@ -17,35 +11,19 @@ export function mergeMessages(messageA, messageB) {
17
11
  entry.wantType = entry.wantType ?? existingEntry.wantType;
18
12
  entry.sendDontHave = entry.sendDontHave ?? existingEntry.sendDontHave;
19
13
  }
20
- wantListEntries.set(key, entry);
14
+ existingMessage.wantlist.set(key, entry);
21
15
  }
22
- const blockPresences = new Map(messageA.blockPresences.map(presence => ([
23
- base64.encode(presence.cid),
24
- presence
25
- ])));
26
- for (const blockPresence of messageB.blockPresences) {
27
- const key = base64.encode(blockPresence.cid);
16
+ for (const [key, blockPresence] of newMessage.blockPresences.entries()) {
28
17
  // override earlier block presence with later one as if duplicated it is
29
18
  // likely to be more accurate since it is more recent
30
- blockPresences.set(key, blockPresence);
19
+ existingMessage.blockPresences.set(key, blockPresence);
31
20
  }
32
- const blocks = new Map(messageA.blocks.map(block => ([
33
- base64.encode(block.data),
34
- block
35
- ])));
36
- for (const block of messageB.blocks) {
37
- const key = base64.encode(block.data);
38
- blocks.set(key, block);
21
+ for (const [key, block] of newMessage.blocks.entries()) {
22
+ existingMessage.blocks.set(key, block);
39
23
  }
40
- const output = {
41
- wantlist: {
42
- full: messageA.wantlist?.full ?? messageB.wantlist?.full ?? false,
43
- entries: [...wantListEntries.values()]
44
- },
45
- blockPresences: [...blockPresences.values()],
46
- blocks: [...blocks.values()],
47
- pendingBytes: messageA.pendingBytes + messageB.pendingBytes
48
- };
49
- return output;
24
+ if (newMessage.full && !existingMessage.full) {
25
+ existingMessage.full = true;
26
+ }
27
+ return existingMessage;
50
28
  }
51
29
  //# sourceMappingURL=merge-messages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"merge-messages.js","sourceRoot":"","sources":["../../../src/utils/merge-messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merge-messages.js","sourceRoot":"","sources":["../../../src/utils/merge-messages.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,aAAa,CAAE,eAAqC,EAAE,UAAgC;IACpG,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QACzD,MAAM,aAAa,GAAG,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAEvD,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;YAC1B,wBAAwB;YACxB,IAAI,aAAa,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC5C,KAAK,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAA;YACzC,CAAC;YAED,0DAA0D;YAC1D,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,CAAA;YACnD,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,aAAa,CAAC,QAAQ,CAAA;YACzD,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,aAAa,CAAC,YAAY,CAAA;QACvE,CAAC;QAED,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC1C,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,IAAI,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;QACvE,wEAAwE;QACxE,qDAAqD;QACrD,eAAe,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;IACxD,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QACvD,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACxC,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;QAC7C,eAAe,CAAC,IAAI,GAAG,IAAI,CAAA;IAC7B,CAAC;IAED,OAAO,eAAe,CAAA;AACxB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { BitswapMessage } from '../pb/message.js';
1
+ import type { QueuedBitswapMessage } from './bitswap-message.js';
2
2
  /**
3
3
  * https://github.com/ipfs/kubo/issues/4473#issuecomment-350390693
4
4
  */
@@ -14,5 +14,5 @@ export declare const MAX_BLOCK_SIZE = 4193648;
14
14
  * If a block is encountered that is larger than the max message size an error
15
15
  * will be thrown.
16
16
  */
17
- export declare function splitMessage(message: BitswapMessage, maxSize: number): AsyncGenerator<Uint8Array>;
17
+ export declare function splitMessage(message: QueuedBitswapMessage, maxSize: number): Generator<Uint8Array>;
18
18
  //# sourceMappingURL=split-message.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"split-message.d.ts","sourceRoot":"","sources":["../../../src/utils/split-message.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAuC,MAAM,kBAAkB,CAAA;AAEtF;;GAEG;AACH,eAAO,MAAM,cAAc,UAAU,CAAA;AAGrC;;;;;;;;;;GAUG;AACH,wBAAwB,YAAY,CAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,CAsD1G"}
1
+ {"version":3,"file":"split-message.d.ts","sourceRoot":"","sources":["../../../src/utils/split-message.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAEhE;;GAEG;AACH,eAAO,MAAM,cAAc,UAAU,CAAA;AAGrC;;;;;;;;;;GAUG;AACH,wBAAkB,YAAY,CAAE,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,CAsDrG"}
@@ -18,10 +18,10 @@ const MAX_ENCODED_BLOCK_SIZE = MAX_BLOCK_SIZE + 16;
18
18
  * If a block is encountered that is larger than the max message size an error
19
19
  * will be thrown.
20
20
  */
21
- export async function* splitMessage(message, maxSize) {
22
- const wantListEntries = message.wantlist?.entries ?? [];
23
- const blockPresences = message.blockPresences;
24
- const blocks = message.blocks;
21
+ export function* splitMessage(message, maxSize) {
22
+ const wantListEntries = [...message.wantlist.values()];
23
+ const blockPresences = [...message.blockPresences.values()];
24
+ const blocks = [...message.blocks.values()];
25
25
  let wantListIndex = 0;
26
26
  let blockPresencesIndex = 0;
27
27
  let blocksIndex = 0;
@@ -29,7 +29,7 @@ export async function* splitMessage(message, maxSize) {
29
29
  while (true) {
30
30
  const subMessage = {
31
31
  wantlist: {
32
- full: message.wantlist?.full ?? false,
32
+ full: message.full ?? false,
33
33
  entries: []
34
34
  },
35
35
  blockPresences: [],
@@ -1 +1 @@
1
- {"version":3,"file":"split-message.js","sourceRoot":"","sources":["../../../src/utils/split-message.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"split-message.js","sourceRoot":"","sources":["../../../src/utils/split-message.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"want-list.d.ts","sourceRoot":"","sources":["../../src/want-list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"want-list.d.ts","sourceRoot":"","sources":["../../src/want-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAmB,MAAM,mBAAmB,CAAA;AAGtE,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAOtC,OAAO,EAAqB,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAG7D,OAAO,KAAK,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AACpF,OAAO,KAAK,EAAE,gCAAgC,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAE7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAE5H,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAEvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,eAAe,CAAA;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,UAAU,CAAC,EAAE,qBAAqB,CAAA;CACnC;AAED,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,GAAG,EAAE,GAAG,CAAA;IAER;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;;OAGG;IACH,QAAQ,EAAE,QAAQ,CAAA;IAElB;;OAEG;IACH,MAAM,EAAE,OAAO,CAAA;IAEf;;OAEG;IACH,YAAY,EAAE,OAAO,CAAA;CACtB;AAED,MAAM,WAAW,WAAY,SAAQ,YAAY,EAAE,eAAe,CAAC,gCAAgC,CAAC;IAClG;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,GAAG,CAAA;IACR,KAAK,EAAE,UAAU,CAAA;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,GAAG,CAAA;IACR,GAAG,EAAE,KAAK,CAAA;CACX;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,GAAG,CAAA;IACR,GAAG,EAAE,IAAI,CAAA;IACT,KAAK,CAAC,EAAE,UAAU,CAAA;CACnB;AAED,MAAM,MAAM,kBAAkB,GAAG,kBAAkB,GAAG,cAAc,CAAA;AAEpE,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,WAAW,CAAC,eAAe,CAAC,CAAA;IACnC,QAAQ,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAAA;CAC1C;AAED,qBAAa,QAAS,SAAQ,iBAAiB,CAAC,cAAc,CAAE,YAAW,SAAS,EAAE,gBAAgB,CAAC,cAAc,CAAC;IACpH;;OAEG;IACH,SAAgB,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IAC3C,SAAgB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAQ;IAC1C,OAAO,CAAC,mBAAmB,CAAC,CAA+B;IAC3D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAuB;IACnD,OAAO,CAAC,eAAe,CAAC,CAAuB;gBAElC,UAAU,EAAE,kBAAkB,EAAE,IAAI,GAAE,YAAiB;YAkCtD,QAAQ;YAyDR,qBAAqB;YAarB,YAAY;IA+D1B,GAAG,CAAE,GAAG,EAAE,GAAG,GAAG,OAAO;IAKvB;;OAEG;IACG,mBAAmB,CAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAsB5G;;OAEG;IACG,SAAS,CAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IAO/E;;OAEG;IACG,gBAAgB,CAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAsBzG;;OAEG;IACG,aAAa,CAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,CAAC,2BAA2B,CAAC,GAAG,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAcnH;;OAEG;YACW,cAAc;IAoF5B;;OAEG;IACG,aAAa,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqCnD;;;OAGG;IACH,gBAAgB,CAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAIvC,KAAK,IAAK,IAAI;IAId,IAAI,IAAK,IAAI;CAId"}
@@ -1,10 +1,6 @@
1
1
  import { TypedEventEmitter, setMaxListeners } from '@libp2p/interface';
2
2
  import { trackedPeerMap } from '@libp2p/peer-collections';
3
3
  import { trackedMap } from '@libp2p/utils/tracked-map';
4
- import all from 'it-all';
5
- import filter from 'it-filter';
6
- import map from 'it-map';
7
- import { pipe } from 'it-pipe';
8
4
  import { CID } from 'multiformats/cid';
9
5
  import { sha256 } from 'multiformats/hashes/sha2';
10
6
  import pDefer from 'p-defer';
@@ -13,6 +9,7 @@ import { equals as uint8ArrayEquals } from 'uint8arrays/equals';
13
9
  import { toString as uint8ArrayToString } from 'uint8arrays/to-string';
14
10
  import { DEFAULT_MESSAGE_SEND_DELAY } from './constants.js';
15
11
  import { BlockPresenceType, WantType } from './pb/message.js';
12
+ import { QueuedBitswapMessage } from './utils/bitswap-message.js';
16
13
  import vd from './utils/varint-decoder.js';
17
14
  export class WantList extends TypedEventEmitter {
18
15
  /**
@@ -119,30 +116,24 @@ export class WantList extends TypedEventEmitter {
119
116
  this.sendingMessages = pDefer();
120
117
  await Promise.all([...this.peers.entries()].map(async ([peerId, sentWants]) => {
121
118
  const sent = new Set();
122
- const message = {
123
- wantlist: {
124
- full: false,
125
- entries: pipe(this.wants.entries(), (source) => filter(source, ([key, entry]) => {
126
- const sentPreviously = sentWants.has(key);
127
- // don't cancel if we've not sent it to them before
128
- if (entry.cancel) {
129
- return sentPreviously;
130
- }
131
- // only send if we've not sent it to them before
132
- return !sentPreviously;
133
- }), (source) => map(source, ([key, entry]) => {
134
- sent.add(key);
135
- return {
136
- cid: entry.cid.bytes,
137
- priority: entry.priority,
138
- wantType: entry.wantType,
139
- cancel: entry.cancel,
140
- sendDontHave: entry.sendDontHave
141
- };
142
- }), (source) => all(source))
119
+ const message = new QueuedBitswapMessage();
120
+ for (const [key, entry] of this.wants.entries()) {
121
+ const sentPreviously = sentWants.has(key);
122
+ // only send if either we've not sent it before, or we haven't sent it
123
+ // but we're also cancelling the want.
124
+ if (sentPreviously || entry.cancel) {
125
+ continue;
143
126
  }
144
- };
145
- if (message.wantlist?.entries.length === 0) {
127
+ sent.add(key);
128
+ message.addWantlistEntry(entry.cid, {
129
+ cid: entry.cid.bytes,
130
+ priority: entry.priority,
131
+ wantType: entry.wantType,
132
+ cancel: entry.cancel,
133
+ sendDontHave: entry.sendDontHave
134
+ });
135
+ }
136
+ if (message.wantlist.size === 0) {
146
137
  return;
147
138
  }
148
139
  // add message to send queue
@@ -179,18 +170,15 @@ export class WantList extends TypedEventEmitter {
179
170
  * Add a CID to the wantlist
180
171
  */
181
172
  async wantSessionPresence(cid, peerId, options = {}) {
182
- // sending WantHave directly to peer
183
- await this.network.sendMessage(peerId, {
184
- wantlist: {
185
- full: false,
186
- entries: [{
187
- cid: cid.bytes,
188
- sendDontHave: true,
189
- wantType: WantType.WantHave,
190
- priority: 1
191
- }]
192
- }
173
+ const message = new QueuedBitswapMessage();
174
+ message.addWantlistEntry(cid, {
175
+ cid: cid.bytes,
176
+ sendDontHave: true,
177
+ wantType: WantType.WantHave,
178
+ priority: 1
193
179
  });
180
+ // sending WantHave directly to peer
181
+ await this.network.sendMessage(peerId, message);
194
182
  // wait for peer response
195
183
  const event = await raceEvent(this, 'presence', options.signal, {
196
184
  filter: (event) => {
@@ -212,18 +200,15 @@ export class WantList extends TypedEventEmitter {
212
200
  * Add a CID to the wantlist
213
201
  */
214
202
  async wantSessionBlock(cid, peerId, options = {}) {
215
- // sending WantBlockResult directly to peer
216
- await this.network.sendMessage(peerId, {
217
- wantlist: {
218
- full: false,
219
- entries: [{
220
- cid: cid.bytes,
221
- sendDontHave: true,
222
- wantType: WantType.WantBlock,
223
- priority: 1
224
- }]
225
- }
203
+ const message = new QueuedBitswapMessage();
204
+ message.addWantlistEntry(cid, {
205
+ cid: cid.bytes,
206
+ sendDontHave: true,
207
+ wantType: WantType.WantBlock,
208
+ priority: 1
226
209
  });
210
+ // sending WantBlockResult directly to peer
211
+ await this.network.sendMessage(peerId, message);
227
212
  // wait for peer response
228
213
  const event = await raceEvent(this, 'presence', options.signal, {
229
214
  filter: (event) => {
@@ -248,7 +233,7 @@ export class WantList extends TypedEventEmitter {
248
233
  * Invoked when a message is received from a bitswap peer
249
234
  */
250
235
  async receiveMessage(sender, message) {
251
- this.log('received message %d from %p with %d blocks', sender, message.blocks.length);
236
+ this.log('received message from %p with %d blocks', sender, message.blocks.length);
252
237
  let blocksCancelled = false;
253
238
  // process blocks
254
239
  for (const block of message.blocks) {
@@ -318,24 +303,23 @@ export class WantList extends TypedEventEmitter {
318
303
  */
319
304
  async peerConnected(peerId) {
320
305
  const sentWants = new Set();
306
+ const message = new QueuedBitswapMessage(true);
321
307
  // new peer, give them the full wantlist
322
- const message = {
323
- wantlist: {
324
- full: true,
325
- entries: pipe(this.wants.entries(), (source) => filter(source, ([key, entry]) => !entry.cancel), (source) => map(source, ([key, entry]) => {
326
- sentWants.add(key);
327
- return {
328
- cid: entry.cid.bytes,
329
- priority: 1,
330
- wantType: WantType.WantBlock,
331
- cancel: false,
332
- sendDontHave: false
333
- };
334
- }), (source) => all(source))
308
+ for (const [key, entry] of this.wants.entries()) {
309
+ if (entry.cancel) {
310
+ continue;
335
311
  }
336
- };
312
+ sentWants.add(key);
313
+ message.addWantlistEntry(entry.cid, {
314
+ cid: entry.cid.bytes,
315
+ priority: 1,
316
+ wantType: WantType.WantBlock,
317
+ cancel: false,
318
+ sendDontHave: false
319
+ });
320
+ }
337
321
  // only send the wantlist if we have something to send
338
- if (message.wantlist?.entries.length === 0) {
322
+ if (message.wantlist.size === 0) {
339
323
  this.peers.set(peerId, sentWants);
340
324
  return;
341
325
  }