mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2024-12-25 12:57:18 +00:00
90038a6001
* add stuff * unused * kasey's review Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
24 lines
1.1 KiB
Go
24 lines
1.1 KiB
Go
package encoder
|
|
|
|
import (
|
|
"io"
|
|
|
|
ssz "github.com/ferranbt/fastssz"
|
|
)
|
|
|
|
// NetworkEncoding represents an encoder compatible with Ethereum consensus p2p.
|
|
type NetworkEncoding interface {
|
|
// DecodeGossip to the provided gossip message. The interface must be a pointer to the decoding destination.
|
|
DecodeGossip([]byte, ssz.Unmarshaler) error
|
|
// DecodeWithMaxLength a bytes from a reader with a varint length prefix. The interface must be a pointer to the
|
|
// decoding destination. The length of the message should not be more than the provided limit.
|
|
DecodeWithMaxLength(io.Reader, ssz.Unmarshaler) error
|
|
// EncodeGossip an arbitrary gossip message to the provided writer. The interface must be a pointer object to encode.
|
|
EncodeGossip(io.Writer, ssz.Marshaler) (int, error)
|
|
// EncodeWithMaxLength an arbitrary message to the provided writer with a varint length prefix. The interface must be
|
|
// a pointer object to encode. The encoded message should not be bigger than the provided limit.
|
|
EncodeWithMaxLength(io.Writer, ssz.Marshaler) (int, error)
|
|
// ProtocolSuffix returns the last part of the protocol ID to indicate the encoding scheme.
|
|
ProtocolSuffix() string
|
|
}
|