package autonat import ( pb "github.com/libp2p/go-libp2p-autonat/pb" "github.com/libp2p/go-libp2p-core/peer" ma "github.com/multiformats/go-multiaddr" ) // AutoNATProto identifies the autonat service protocol const AutoNATProto = "/libp2p/autonat/1.0.0" func newDialMessage(pi peer.AddrInfo) *pb.Message { msg := new(pb.Message) msg.Type = pb.Message_DIAL.Enum() msg.Dial = new(pb.Message_Dial) msg.Dial.Peer = new(pb.Message_PeerInfo) msg.Dial.Peer.Id = []byte(pi.ID) msg.Dial.Peer.Addrs = make([][]byte, len(pi.Addrs)) for i, addr := range pi.Addrs { msg.Dial.Peer.Addrs[i] = addr.Bytes() } return msg } func newDialResponseOK(addr ma.Multiaddr) *pb.Message_DialResponse { dr := new(pb.Message_DialResponse) dr.Status = pb.Message_OK.Enum() dr.Addr = addr.Bytes() return dr } func newDialResponseError(status pb.Message_ResponseStatus, text string) *pb.Message_DialResponse { dr := new(pb.Message_DialResponse) dr.Status = status.Enum() dr.StatusText = &text return dr }