mirror of
https://github.com/lightningnetwork/lnd.git
synced 2025-09-15 13:45:36 +02:00
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:
@@ -121,10 +121,10 @@ func encodeOnionAddr(w io.Writer, addr *tor.OnionAddr) error {
|
||||
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
|
||||
// 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
|
||||
if _, err := r.Read(addrType[:]); err != nil {
|
||||
return nil, err
|
||||
@@ -207,9 +207,9 @@ func deserializeAddr(r io.Reader) (net.Addr, error) {
|
||||
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.
|
||||
func serializeAddr(w io.Writer, address net.Addr) error {
|
||||
func SerializeAddr(w io.Writer, address net.Addr) error {
|
||||
switch addr := address.(type) {
|
||||
case *net.TCPAddr:
|
||||
return encodeTCPAddr(w, addr)
|
||||
|
@@ -117,7 +117,7 @@ func TestAddrSerialization(t *testing.T) {
|
||||
|
||||
var b bytes.Buffer
|
||||
for _, test := range addrTests {
|
||||
err := serializeAddr(&b, test.expAddr)
|
||||
err := SerializeAddr(&b, test.expAddr)
|
||||
switch {
|
||||
case err == nil && test.serErr != "":
|
||||
t.Fatalf("expected serialization err for addr %v",
|
||||
@@ -136,7 +136,7 @@ func TestAddrSerialization(t *testing.T) {
|
||||
continue
|
||||
}
|
||||
|
||||
addr, err := deserializeAddr(&b)
|
||||
addr, err := DeserializeAddr(&b)
|
||||
if err != nil {
|
||||
t.Fatalf("unable to deserialize address: %v", err)
|
||||
}
|
||||
|
@@ -218,7 +218,7 @@ func WriteElement(w io.Writer, element interface{}) error {
|
||||
}
|
||||
|
||||
case net.Addr:
|
||||
if err := serializeAddr(w, e); err != nil {
|
||||
if err := SerializeAddr(w, e); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -228,7 +228,7 @@ func WriteElement(w io.Writer, element interface{}) error {
|
||||
}
|
||||
|
||||
for _, addr := range e {
|
||||
if err := serializeAddr(w, addr); err != nil {
|
||||
if err := SerializeAddr(w, addr); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
@@ -451,7 +451,7 @@ func ReadElement(r io.Reader, element interface{}) error {
|
||||
}
|
||||
|
||||
case *net.Addr:
|
||||
addr, err := deserializeAddr(r)
|
||||
addr, err := DeserializeAddr(r)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -465,7 +465,7 @@ func ReadElement(r io.Reader, element interface{}) error {
|
||||
|
||||
*e = make([]net.Addr, numAddrs)
|
||||
for i := uint32(0); i < numAddrs; i++ {
|
||||
addr, err := deserializeAddr(r)
|
||||
addr, err := DeserializeAddr(r)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@@ -4016,7 +4016,7 @@ func putLightningNode(nodeBucket kvdb.RwBucket, aliasBucket kvdb.RwBucket, // no
|
||||
}
|
||||
|
||||
for _, address := range node.Addresses {
|
||||
if err := serializeAddr(&b, address); err != nil {
|
||||
if err := SerializeAddr(&b, address); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
@@ -4209,7 +4209,7 @@ func deserializeLightningNode(r io.Reader) (LightningNode, error) {
|
||||
|
||||
var addresses []net.Addr
|
||||
for i := 0; i < numAddresses; i++ {
|
||||
address, err := deserializeAddr(r)
|
||||
address, err := DeserializeAddr(r)
|
||||
if err != nil {
|
||||
return LightningNode{}, err
|
||||
}
|
||||
|
@@ -273,7 +273,7 @@ func serializeLinkNode(w io.Writer, l *LinkNode) error {
|
||||
}
|
||||
|
||||
for _, addr := range l.Addresses {
|
||||
if err := serializeAddr(w, addr); err != nil {
|
||||
if err := SerializeAddr(w, addr); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
@@ -315,7 +315,7 @@ func deserializeLinkNode(r io.Reader) (*LinkNode, error) {
|
||||
|
||||
node.Addresses = make([]net.Addr, numAddrs)
|
||||
for i := uint32(0); i < numAddrs; i++ {
|
||||
addr, err := deserializeAddr(r)
|
||||
addr, err := DeserializeAddr(r)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
Reference in New Issue
Block a user