mirror of
https://github.com/kaspanet/kaspad.git
synced 2026-03-18 22:29:14 +00:00
BIP0144+wire: add a MessageEncoding variant for serialization/deserialization
This commit modifies the existing wire.Message interface to introduce a new MessageEncoding variant which dictates the exact encoding to be used when serializing and deserializing messages. Such an option is now necessary due to the segwit soft-fork package, as btcd will need to be able to optionally encode transactions/blocks without witness data to un-upgraded peers. Two new functions have been introduced: ReadMessageWithEncodingN and WriteMessageWithEncodingN which wrap BtcDecode/BtcEncode with the desired encoding format.
This commit is contained in:
committed by
Dave Collins
parent
1b359e1131
commit
48abfdf87c
@@ -394,7 +394,7 @@ func BenchmarkDecodeGetHeaders(b *testing.B) {
|
||||
|
||||
// Serialize it so the bytes are available to test the decode below.
|
||||
var bb bytes.Buffer
|
||||
if err := m.BtcEncode(&bb, pver); err != nil {
|
||||
if err := m.BtcEncode(&bb, pver, LatestEncoding); err != nil {
|
||||
b.Fatalf("MsgGetHeaders.BtcEncode: unexpected error: %v", err)
|
||||
}
|
||||
buf := bb.Bytes()
|
||||
@@ -404,7 +404,7 @@ func BenchmarkDecodeGetHeaders(b *testing.B) {
|
||||
b.ResetTimer()
|
||||
for i := 0; i < b.N; i++ {
|
||||
r.Seek(0, 0)
|
||||
msg.BtcDecode(r, pver)
|
||||
msg.BtcDecode(r, pver, LatestEncoding)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -424,7 +424,7 @@ func BenchmarkDecodeHeaders(b *testing.B) {
|
||||
|
||||
// Serialize it so the bytes are available to test the decode below.
|
||||
var bb bytes.Buffer
|
||||
if err := m.BtcEncode(&bb, pver); err != nil {
|
||||
if err := m.BtcEncode(&bb, pver, LatestEncoding); err != nil {
|
||||
b.Fatalf("MsgHeaders.BtcEncode: unexpected error: %v", err)
|
||||
}
|
||||
buf := bb.Bytes()
|
||||
@@ -434,7 +434,7 @@ func BenchmarkDecodeHeaders(b *testing.B) {
|
||||
b.ResetTimer()
|
||||
for i := 0; i < b.N; i++ {
|
||||
r.Seek(0, 0)
|
||||
msg.BtcDecode(r, pver)
|
||||
msg.BtcDecode(r, pver, LatestEncoding)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -454,7 +454,7 @@ func BenchmarkDecodeGetBlocks(b *testing.B) {
|
||||
|
||||
// Serialize it so the bytes are available to test the decode below.
|
||||
var bb bytes.Buffer
|
||||
if err := m.BtcEncode(&bb, pver); err != nil {
|
||||
if err := m.BtcEncode(&bb, pver, LatestEncoding); err != nil {
|
||||
b.Fatalf("MsgGetBlocks.BtcEncode: unexpected error: %v", err)
|
||||
}
|
||||
buf := bb.Bytes()
|
||||
@@ -464,7 +464,7 @@ func BenchmarkDecodeGetBlocks(b *testing.B) {
|
||||
b.ResetTimer()
|
||||
for i := 0; i < b.N; i++ {
|
||||
r.Seek(0, 0)
|
||||
msg.BtcDecode(r, pver)
|
||||
msg.BtcDecode(r, pver, LatestEncoding)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -481,7 +481,7 @@ func BenchmarkDecodeAddr(b *testing.B) {
|
||||
|
||||
// Serialize it so the bytes are available to test the decode below.
|
||||
var bb bytes.Buffer
|
||||
if err := ma.BtcEncode(&bb, pver); err != nil {
|
||||
if err := ma.BtcEncode(&bb, pver, LatestEncoding); err != nil {
|
||||
b.Fatalf("MsgAddr.BtcEncode: unexpected error: %v", err)
|
||||
}
|
||||
buf := bb.Bytes()
|
||||
@@ -491,7 +491,7 @@ func BenchmarkDecodeAddr(b *testing.B) {
|
||||
b.ResetTimer()
|
||||
for i := 0; i < b.N; i++ {
|
||||
r.Seek(0, 0)
|
||||
msg.BtcDecode(r, pver)
|
||||
msg.BtcDecode(r, pver, LatestEncoding)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -511,7 +511,7 @@ func BenchmarkDecodeInv(b *testing.B) {
|
||||
|
||||
// Serialize it so the bytes are available to test the decode below.
|
||||
var bb bytes.Buffer
|
||||
if err := m.BtcEncode(&bb, pver); err != nil {
|
||||
if err := m.BtcEncode(&bb, pver, LatestEncoding); err != nil {
|
||||
b.Fatalf("MsgInv.BtcEncode: unexpected error: %v", err)
|
||||
}
|
||||
buf := bb.Bytes()
|
||||
@@ -521,7 +521,7 @@ func BenchmarkDecodeInv(b *testing.B) {
|
||||
b.ResetTimer()
|
||||
for i := 0; i < b.N; i++ {
|
||||
r.Seek(0, 0)
|
||||
msg.BtcDecode(r, pver)
|
||||
msg.BtcDecode(r, pver, LatestEncoding)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -541,7 +541,7 @@ func BenchmarkDecodeNotFound(b *testing.B) {
|
||||
|
||||
// Serialize it so the bytes are available to test the decode below.
|
||||
var bb bytes.Buffer
|
||||
if err := m.BtcEncode(&bb, pver); err != nil {
|
||||
if err := m.BtcEncode(&bb, pver, LatestEncoding); err != nil {
|
||||
b.Fatalf("MsgNotFound.BtcEncode: unexpected error: %v", err)
|
||||
}
|
||||
buf := bb.Bytes()
|
||||
@@ -551,7 +551,7 @@ func BenchmarkDecodeNotFound(b *testing.B) {
|
||||
b.ResetTimer()
|
||||
for i := 0; i < b.N; i++ {
|
||||
r.Seek(0, 0)
|
||||
msg.BtcDecode(r, pver)
|
||||
msg.BtcDecode(r, pver, LatestEncoding)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -579,7 +579,7 @@ func BenchmarkDecodeMerkleBlock(b *testing.B) {
|
||||
|
||||
// Serialize it so the bytes are available to test the decode below.
|
||||
var bb bytes.Buffer
|
||||
if err := m.BtcEncode(&bb, pver); err != nil {
|
||||
if err := m.BtcEncode(&bb, pver, LatestEncoding); err != nil {
|
||||
b.Fatalf("MsgMerkleBlock.BtcEncode: unexpected error: %v", err)
|
||||
}
|
||||
buf := bb.Bytes()
|
||||
@@ -589,7 +589,7 @@ func BenchmarkDecodeMerkleBlock(b *testing.B) {
|
||||
b.ResetTimer()
|
||||
for i := 0; i < b.N; i++ {
|
||||
r.Seek(0, 0)
|
||||
msg.BtcDecode(r, pver)
|
||||
msg.BtcDecode(r, pver, LatestEncoding)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user