Skip to content

Commit

Permalink
deps: switch varint for uint8-varint (#1973)
Browse files Browse the repository at this point in the history
It's faster and is used elsewhere saving us a dep.
  • Loading branch information
achingbrain committed Aug 16, 2023
1 parent 4ef9c79 commit 6abcd22
Show file tree
Hide file tree
Showing 9 changed files with 25 additions and 30 deletions.
5 changes: 2 additions & 3 deletions packages/kad-dht/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -83,17 +83,16 @@
"private-ip": "^3.0.0",
"progress-events": "^1.0.0",
"protons-runtime": "^5.0.0",
"uint8-varint": "^2.0.0",
"uint8arraylist": "^2.4.3",
"uint8arrays": "^4.0.6",
"varint": "^6.0.0"
"uint8arrays": "^4.0.6"
},
"devDependencies": {
"@libp2p/interface-compliance-tests": "^4.0.3",
"@libp2p/peer-id-factory": "^3.0.3",
"@libp2p/peer-store": "^9.0.3",
"@types/lodash.random": "^3.2.6",
"@types/lodash.range": "^3.2.6",
"@types/varint": "^6.0.0",
"@types/which": "^3.0.0",
"aegir": "^40.0.8",
"datastore-level": "^10.0.0",
Expand Down
4 changes: 2 additions & 2 deletions packages/kad-dht/src/providers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import { peerIdFromString } from '@libp2p/peer-id'
import cache from 'hashlru'
import { Key } from 'interface-datastore/key'
import Queue from 'p-queue'
import * as varint from 'uint8-varint'
import { toString as uint8ArrayToString } from 'uint8arrays/to-string'
import varint from 'varint'
import {
PROVIDERS_CLEANUP_INTERVAL,
PROVIDERS_VALIDITY,
Expand Down Expand Up @@ -245,7 +245,7 @@ async function writeProviderEntry (store: Datastore, cid: CID, peer: PeerId, tim
].join('')

const key = new Key(dsKey)
const buffer = Uint8Array.from(varint.encode(time.getTime()))
const buffer = varint.encode(time.getTime())

await store.put(key, buffer)
}
Expand Down
1 change: 0 additions & 1 deletion packages/libp2p/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,6 @@
"@libp2p/mplex": "^9.0.3",
"@libp2p/tcp": "^8.0.3",
"@libp2p/websockets": "^7.0.3",
"@types/varint": "^6.0.0",
"@types/xsalsa20": "^1.1.0",
"aegir": "^40.0.8",
"delay": "^6.0.0",
Expand Down
5 changes: 2 additions & 3 deletions packages/multistream-select/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -63,17 +63,16 @@
"it-pushable": "^3.2.0",
"it-reader": "^6.0.1",
"it-stream-types": "^2.0.1",
"uint8-varint": "^2.0.0",
"uint8arraylist": "^2.4.3",
"uint8arrays": "^4.0.6"
},
"devDependencies": {
"@types/varint": "^6.0.0",
"aegir": "^40.0.8",
"iso-random-stream": "^2.0.2",
"it-all": "^3.0.1",
"it-map": "^3.0.3",
"it-pair": "^2.0.6",
"p-timeout": "^6.0.0",
"varint": "^6.0.0"
"p-timeout": "^6.0.0"
}
}
18 changes: 9 additions & 9 deletions packages/multistream-select/test/multistream.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ import { expect } from 'aegir/chai'
import all from 'it-all'
import { pushable } from 'it-pushable'
import { reader } from 'it-reader'
import * as varint from 'uint8-varint'
import { Uint8ArrayList } from 'uint8arraylist'
import { concat as uint8ArrayConcat } from 'uint8arrays/concat'
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string'
import * as Varint from 'varint'
import * as Multistream from '../src/multistream.js'

describe('Multistream', () => {
Expand All @@ -18,7 +18,7 @@ describe('Multistream', () => {
const output = Multistream.encode(input)

const expected = uint8ArrayConcat([
Uint8Array.from(Varint.encode(input.length + 1)), // +1 to include newline
varint.encode(input.length + 1), // +1 to include newline
input,
uint8ArrayFromString('\n')
])
Expand All @@ -31,7 +31,7 @@ describe('Multistream', () => {
const output = Multistream.encode(input.slice())

const expected = uint8ArrayConcat([
Uint8Array.from(Varint.encode(input.length + 1)), // +1 to include newline
varint.encode(input.length + 1), // +1 to include newline
input.slice(),
uint8ArrayFromString('\n')
])
Expand All @@ -48,7 +48,7 @@ describe('Multistream', () => {
Multistream.write(writer, input)

const expected = uint8ArrayConcat([
Uint8Array.from(Varint.encode(input.length + 1)), // +1 to include newline
varint.encode(input.length + 1), // +1 to include newline
input,
uint8ArrayFromString('\n')
])
Expand All @@ -66,7 +66,7 @@ describe('Multistream', () => {
const input = uint8ArrayFromString(`TEST${Date.now()}`)

const source = reader([uint8ArrayConcat([
Uint8Array.from(Varint.encode(input.length + 1)), // +1 to include newline
varint.encode(input.length + 1), // +1 to include newline
input,
uint8ArrayFromString('\n')
])])
Expand All @@ -79,7 +79,7 @@ describe('Multistream', () => {
const input = uint8ArrayFromString(`TEST${Date.now()}`)

const source = reader([uint8ArrayConcat([
Uint8Array.from(Varint.encode(input.length)),
varint.encode(input.length),
input
])])

Expand All @@ -92,7 +92,7 @@ describe('Multistream', () => {
input[input.length - 1] = '\n'.charCodeAt(0)

const source = reader([uint8ArrayConcat([
Uint8Array.from(Varint.encode(input.length)),
varint.encode(input.length),
input
])])

Expand All @@ -104,7 +104,7 @@ describe('Multistream', () => {
const input = new Uint8Array(0)

const source = reader([uint8ArrayConcat([
Uint8Array.from(Varint.encode(input.length)),
varint.encode(input.length),
input
])])

Expand All @@ -116,7 +116,7 @@ describe('Multistream', () => {
const input = uint8ArrayFromString(`TEST${Date.now()}`)

const source = reader([uint8ArrayConcat([
Uint8Array.from(Varint.encode(input.length + 1)), // +1 to include newline
varint.encode(input.length + 1), // +1 to include newline
input,
uint8ArrayFromString('\n')
])])
Expand Down
1 change: 0 additions & 1 deletion packages/peer-record/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,6 @@
},
"devDependencies": {
"@libp2p/peer-id-factory": "^3.0.3",
"@types/varint": "^6.0.0",
"aegir": "^40.0.8",
"protons": "^7.0.2"
}
Expand Down
8 changes: 4 additions & 4 deletions packages/peer-record/src/envelope/index.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { unmarshalPrivateKey, unmarshalPublicKey } from '@libp2p/crypto/keys'
import { CodeError } from '@libp2p/interface/errors'
import { peerIdFromKeys } from '@libp2p/peer-id'
import * as unsigned from 'uint8-varint'
import * as varint from 'uint8-varint'
import { Uint8ArrayList } from 'uint8arraylist'
import { equals as uint8ArrayEquals } from 'uint8arrays/equals'
import { fromString as uint8arraysFromString } from 'uint8arrays/from-string'
Expand Down Expand Up @@ -147,9 +147,9 @@ const formatSignaturePayload = (domain: string, payloadType: Uint8Array, payload
// - The value of the payload field

const domainUint8Array = uint8arraysFromString(domain)
const domainLength = unsigned.encode(domainUint8Array.byteLength)
const payloadTypeLength = unsigned.encode(payloadType.length)
const payloadLength = unsigned.encode(payload.length)
const domainLength = varint.encode(domainUint8Array.byteLength)
const payloadTypeLength = varint.encode(payloadType.length)
const payloadLength = varint.encode(payload.length)

return new Uint8ArrayList(
domainLength,
Expand Down
5 changes: 2 additions & 3 deletions packages/stream-multiplexer-mplex/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -64,13 +64,12 @@
"it-pushable": "^3.2.0",
"it-stream-types": "^2.0.1",
"rate-limiter-flexible": "^2.3.11",
"uint8-varint": "^2.0.0",
"uint8arraylist": "^2.4.3",
"uint8arrays": "^4.0.6",
"varint": "^6.0.0"
"uint8arrays": "^4.0.6"
},
"devDependencies": {
"@libp2p/interface-compliance-tests": "^4.0.3",
"@types/varint": "^6.0.0",
"aegir": "^40.0.8",
"cborg": "^2.0.1",
"delay": "^6.0.0",
Expand Down
8 changes: 4 additions & 4 deletions packages/stream-multiplexer-mplex/src/encode.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import batchedBytes from 'it-batched-bytes'
import * as varint from 'uint8-varint'
import { Uint8ArrayList } from 'uint8arraylist'
import varint from 'varint'
import { allocUnsafe } from './alloc-unsafe.js'
import { type Message, MessageTypes } from './message-types.js'
import type { Source } from 'it-stream-types'
Expand All @@ -24,16 +24,16 @@ class Encoder {
let offset = this._poolOffset

varint.encode(msg.id << 3 | msg.type, pool, offset)
offset += varint.encode.bytes ?? 0
offset += varint.encodingLength(msg.id << 3 | msg.type)

if ((msg.type === MessageTypes.NEW_STREAM || msg.type === MessageTypes.MESSAGE_INITIATOR || msg.type === MessageTypes.MESSAGE_RECEIVER) && msg.data != null) {
varint.encode(msg.data.length, pool, offset)
offset += varint.encodingLength(msg.data.length)
} else {
varint.encode(0, pool, offset)
offset += varint.encodingLength(0)
}

offset += varint.encode.bytes ?? 0

const header = pool.subarray(this._poolOffset, offset)

if (POOL_SIZE - offset < 100) {
Expand Down

0 comments on commit 6abcd22

Please sign in to comment.