You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.5 KiB
55 lines
1.5 KiB
package lnwire |
|
|
|
import "io" |
|
|
|
// PongPayload is a set of opaque bytes sent in response to a ping message. |
|
type PongPayload []byte |
|
|
|
// Pong defines a message which is the direct response to a received Ping |
|
// message. A Pong reply indicates that a connection is still active. The Pong |
|
// reply to a Ping message should contain the nonce carried in the original |
|
// Pong message. |
|
type Pong struct { |
|
// PongBytes is a set of opaque bytes that corresponds to the |
|
// NumPongBytes defined in the ping message that this pong is |
|
// replying to. |
|
PongBytes PongPayload |
|
} |
|
|
|
// NewPong returns a new Pong message. |
|
func NewPong(pongBytes []byte) *Pong { |
|
return &Pong{ |
|
PongBytes: pongBytes, |
|
} |
|
} |
|
|
|
// A compile time check to ensure Pong implements the lnwire.Message interface. |
|
var _ Message = (*Pong)(nil) |
|
|
|
// Decode deserializes a serialized Pong message stored in the passed io.Reader |
|
// observing the specified protocol version. |
|
// |
|
// This is part of the lnwire.Message interface. |
|
func (p *Pong) Decode(r io.Reader, pver uint32) error { |
|
return ReadElements(r, |
|
&p.PongBytes, |
|
) |
|
} |
|
|
|
// Encode serializes the target Pong into the passed io.Writer observing the |
|
// protocol version specified. |
|
// |
|
// This is part of the lnwire.Message interface. |
|
func (p *Pong) Encode(w io.Writer, pver uint32) error { |
|
return WriteElements(w, |
|
p.PongBytes, |
|
) |
|
} |
|
|
|
// MsgType returns the integer uniquely identifying this message type on the |
|
// wire. |
|
// |
|
// This is part of the lnwire.Message interface. |
|
func (p *Pong) MsgType() MessageType { |
|
return MsgPong |
|
}
|
|
|