channeldb: export net.Addr encode/decode methods

We'll move these to the new graphdb package later and import them from
there.
This commit is contained in:
Elle Mouton committed 2024-11-28 13:34:08 +02:00
1 parent 1ebdefb943
commit 1e81d83f78
5 files changed
+14 -14

No files matched your search

+4 -4
View File
@@ -121,10 +121,10 @@ func encodeOnionAddr(w io.Writer, addr *tor.OnionAddr) error {
return nil return nil
} }
// deserializeAddr reads the serialized raw representation of an address and // DeserializeAddr reads the serialized raw representation of an address and
// deserializes it into the actual address. This allows us to avoid address // deserializes it into the actual address. This allows us to avoid address
// resolution within the channeldb package. // resolution within the channeldb package.
func deserializeAddr(r io.Reader) (net.Addr, error) { func DeserializeAddr(r io.Reader) (net.Addr, error) {
var addrType [1]byte var addrType [1]byte
if _, err := r.Read(addrType[:]); err != nil { if _, err := r.Read(addrType[:]); err != nil {
return nil, err return nil, err
@@ -207,9 +207,9 @@ func deserializeAddr(r io.Reader) (net.Addr, error) {
return address, nil return address, nil
} }
// serializeAddr serializes an address into its raw bytes representation so that // SerializeAddr serializes an address into its raw bytes representation so that
// it can be deserialized without requiring address resolution. // it can be deserialized without requiring address resolution.
func serializeAddr(w io.Writer, address net.Addr) error { func SerializeAddr(w io.Writer, address net.Addr) error {
switch addr := address.(type) { switch addr := address.(type) {
case *net.TCPAddr: case *net.TCPAddr:
return encodeTCPAddr(w, addr) return encodeTCPAddr(w, addr)
+2 -2
View File
@@ -117,7 +117,7 @@ func TestAddrSerialization(t *testing.T) {
var b bytes.Buffer var b bytes.Buffer
for _, test := range addrTests { for _, test := range addrTests {
err := serializeAddr(&b, test.expAddr) err := SerializeAddr(&b, test.expAddr)
switch { switch {
case err == nil && test.serErr != "": case err == nil && test.serErr != "":
t.Fatalf("expected serialization err for addr %v", t.Fatalf("expected serialization err for addr %v",
@@ -136,7 +136,7 @@ func TestAddrSerialization(t *testing.T) {
continue continue
} }
addr, err := deserializeAddr(&b) addr, err := DeserializeAddr(&b)
if err != nil { if err != nil {
t.Fatalf("unable to deserialize address: %v", err) t.Fatalf("unable to deserialize address: %v", err)
} }
+4 -4
View File
@@ -218,7 +218,7 @@ func WriteElement(w io.Writer, element interface{}) error {
} }
case net.Addr: case net.Addr:
if err := serializeAddr(w, e); err != nil { if err := SerializeAddr(w, e); err != nil {
return err return err
} }
@@ -228,7 +228,7 @@ func WriteElement(w io.Writer, element interface{}) error {
} }
for _, addr := range e { for _, addr := range e {
if err := serializeAddr(w, addr); err != nil { if err := SerializeAddr(w, addr); err != nil {
return err return err
} }
} }
@@ -451,7 +451,7 @@ func ReadElement(r io.Reader, element interface{}) error {
} }
case *net.Addr: case *net.Addr:
addr, err := deserializeAddr(r) addr, err := DeserializeAddr(r)
if err != nil { if err != nil {
return err return err
} }
@@ -465,7 +465,7 @@ func ReadElement(r io.Reader, element interface{}) error {
*e = make([]net.Addr, numAddrs) *e = make([]net.Addr, numAddrs)
for i := uint32(0); i < numAddrs; i++ { for i := uint32(0); i < numAddrs; i++ {
addr, err := deserializeAddr(r) addr, err := DeserializeAddr(r)
if err != nil { if err != nil {
return err return err
} }
+2 -2
View File
@@ -4016,7 +4016,7 @@ func putLightningNode(nodeBucket kvdb.RwBucket, aliasBucket kvdb.RwBucket, // no
} }
for _, address := range node.Addresses { for _, address := range node.Addresses {
if err := serializeAddr(&b, address); err != nil { if err := SerializeAddr(&b, address); err != nil {
return err return err
} }
} }
@@ -4209,7 +4209,7 @@ func deserializeLightningNode(r io.Reader) (LightningNode, error) {
var addresses []net.Addr var addresses []net.Addr
for i := 0; i < numAddresses; i++ { for i := 0; i < numAddresses; i++ {
address, err := deserializeAddr(r) address, err := DeserializeAddr(r)
if err != nil { if err != nil {
return LightningNode{}, err return LightningNode{}, err
} }
+2 -2
View File
@@ -273,7 +273,7 @@ func serializeLinkNode(w io.Writer, l *LinkNode) error {
} }
for _, addr := range l.Addresses { for _, addr := range l.Addresses {
if err := serializeAddr(w, addr); err != nil { if err := SerializeAddr(w, addr); err != nil {
return err return err
} }
} }
@@ -315,7 +315,7 @@ func deserializeLinkNode(r io.Reader) (*LinkNode, error) {
node.Addresses = make([]net.Addr, numAddrs) node.Addresses = make([]net.Addr, numAddrs)
for i := uint32(0); i < numAddrs; i++ { for i := uint32(0); i < numAddrs; i++ {
addr, err := deserializeAddr(r) addr, err := DeserializeAddr(r)
if err != nil { if err != nil {
return nil, err return nil, err
} }