Magna#
this is a go package for packing/unpacking dns packets.
Spec#
This implements RFC 1034 and RFC 1035.
https://tangled.org/seiso.moe/magna
git@knot.kiri.systems:seiso.moe/magna
For self-hosted knots, clone URLs may differ based on your setup.
Adds bench marking for encode and decode domain name.
Before:
```
goos: darwin
goarch: arm64
pkg: tangled.sh/seiso.moe/magna
cpu: Apple M2
BenchmarkDecodeDomainSimple-8 8165782 130.5 ns/op
BenchmarkDecodeDomainCompressed-8 8700873 137.7 ns/op
BenchmarkEncodeDomainSimple-8 7649919 157.4 ns/op
BenchmarkEncodeDomainWithCompression-8 4262730 280.7 ns/op
PASS
ok tangled.sh/seiso.moe/magna 5.625s
```
AfterL
```
goos: darwin
goarch: arm64
pkg: tangled.sh/seiso.moe/magna
cpu: Apple M2
BenchmarkDecodeDomainSimple-8 15590142 77.35 ns/op
BenchmarkDecodeDomainCompressed-8 13225490 89.91 ns/op
BenchmarkEncodeDomainSimple-8 11666162 103.2 ns/op
BenchmarkEncodeDomainWithCompression-8 6769450 176.7 ns/op
PASS
ok tangled.sh/seiso.moe/magna 6.464s
```
Reviewed-on: https://code.kiri.systems/kiri/magna/pulls/7
Reviewed-on: https://code.kiri.systems/kiri/magna/pulls/6