p2p

package
v1.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 19, 2024 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PacketIdentifierSyncStatusMsg    = 12064657818327214469
	PacketIdentifierTimeSyncMsg      = 6014709404869090737
	PacketIdentifierMessage          = 14302180353067076632
	PacketIdentifierBroadcastMessage = 3104464370606199534
)

Variables

This section is empty.

Functions

This section is empty.

Types

type BroadcastMessage

type BroadcastMessage struct {
	ID   []byte
	Data []byte
}

func NewBroadcastMessage

func NewBroadcastMessage() BroadcastMessage

func (*BroadcastMessage) PacketIdentifier

func (x *BroadcastMessage) PacketIdentifier() PacketIdentifier

func (*BroadcastMessage) Read

func (x *BroadcastMessage) Read(viewer *BroadcastMessageViewer, reader *karmem.Reader)

func (*BroadcastMessage) ReadAsRoot

func (x *BroadcastMessage) ReadAsRoot(reader *karmem.Reader)

func (*BroadcastMessage) Reset

func (x *BroadcastMessage) Reset()

func (*BroadcastMessage) Write

func (x *BroadcastMessage) Write(writer *karmem.Writer, start uint) (offset uint, err error)

func (*BroadcastMessage) WriteAsRoot

func (x *BroadcastMessage) WriteAsRoot(writer *karmem.Writer) (offset uint, err error)

type BroadcastMessageViewer

type BroadcastMessageViewer struct {
	// contains filtered or unexported fields
}

func NewBroadcastMessageViewer

func NewBroadcastMessageViewer(reader *karmem.Reader, offset uint32) (v *BroadcastMessageViewer)

func (*BroadcastMessageViewer) Data

func (x *BroadcastMessageViewer) Data(reader *karmem.Reader) (v []byte)

func (*BroadcastMessageViewer) ID

func (x *BroadcastMessageViewer) ID(reader *karmem.Reader) (v []byte)

type Message

type Message struct {
	Code      StatusCode
	Size      uint32
	Payload   []byte
	ReceiveAt int64
}

func NewMessage

func NewMessage() Message

func (*Message) PacketIdentifier

func (x *Message) PacketIdentifier() PacketIdentifier

func (*Message) Read

func (x *Message) Read(viewer *MessageViewer, reader *karmem.Reader)

func (*Message) ReadAsRoot

func (x *Message) ReadAsRoot(reader *karmem.Reader)

func (*Message) Reset

func (x *Message) Reset()

func (*Message) Write

func (x *Message) Write(writer *karmem.Writer, start uint) (offset uint, err error)

func (*Message) WriteAsRoot

func (x *Message) WriteAsRoot(writer *karmem.Writer) (offset uint, err error)

type MessageViewer

type MessageViewer struct {
	// contains filtered or unexported fields
}

func NewMessageViewer

func NewMessageViewer(reader *karmem.Reader, offset uint32) (v *MessageViewer)

func (*MessageViewer) Code

func (x *MessageViewer) Code() (v StatusCode)

func (*MessageViewer) Payload

func (x *MessageViewer) Payload(reader *karmem.Reader) (v []byte)

func (*MessageViewer) ReceiveAt

func (x *MessageViewer) ReceiveAt() (v int64)

func (*MessageViewer) Size

func (x *MessageViewer) Size() (v uint32)

type PacketIdentifier

type PacketIdentifier uint64

type Peer

type Peer struct {
	// contains filtered or unexported fields
}

func NewPeer

func NewPeer(id peer.ID, s *network.Stream, msgQueue chan *Message) (*Peer, error)

func (*Peer) Id

func (p *Peer) Id() peer.ID

func (*Peer) Run

func (p *Peer) Run()

func (*Peer) Send

func (p *Peer) Send(msgCode StatusCode, payload []byte)

Send 方法用于提供一个通用的消息发送接口

func (*Peer) Stopped

func (p *Peer) Stopped() bool

type StatusCode

type StatusCode uint8
const (
	StatusCodePingMsg                       StatusCode = 0
	StatusCodePongMsg                       StatusCode = 1
	StatusCodeStatusMsg                     StatusCode = 2
	StatusCodeNewBlockHashesMsg             StatusCode = 3
	StatusCodeTransactionsMsg               StatusCode = 4
	StatusCodeGetBlockHeadersMsg            StatusCode = 5
	StatusCodeBlockHeadersMsg               StatusCode = 6
	StatusCodeGetBlockBodiesMsg             StatusCode = 7
	StatusCodeBlockBodiesMsg                StatusCode = 8
	StatusCodeNewBlockMsg                   StatusCode = 9
	StatusCodeGetNodeDataMsg                StatusCode = 10
	StatusCodeNodeDataMsg                   StatusCode = 11
	StatusCodeGetReceiptsMsg                StatusCode = 12
	StatusCodeReceiptsMsg                   StatusCode = 13
	StatusCodeNewPooledTransactionHashesMsg StatusCode = 14
	StatusCodePooledTransactionsMsg         StatusCode = 16
	StatusCodeSyncStatusReq                 StatusCode = 17
	StatusCodeSyncStatusMsg                 StatusCode = 18
	StatusCodeSyncGetBlocksMsg              StatusCode = 19
	StatusCodeSyncBlocksMsg                 StatusCode = 20
	StatusCodeGetBufferedBlocksMsg          StatusCode = 21
	StatusCodeBufferedBlocksMsg             StatusCode = 22
	StatusCodeTimeSyncReq                   StatusCode = 23
	StatusCodeTimeSyncRsp                   StatusCode = 24
)

type SyncStatusMsg

type SyncStatusMsg struct {
	LatestHeight        int64    // db 中的最新区块高度
	LatestHash          [32]byte // db 中的最新区块哈希
	BufferedStartHeight int64    // 缓冲区起始区块高度
	BufferedEndHeight   int64    // 缓冲区截止区块高度
}

func NewSyncStatusMsg

func NewSyncStatusMsg() SyncStatusMsg

func (*SyncStatusMsg) PacketIdentifier

func (x *SyncStatusMsg) PacketIdentifier() PacketIdentifier

func (*SyncStatusMsg) Read

func (x *SyncStatusMsg) Read(viewer *SyncStatusMsgViewer, reader *karmem.Reader)

func (*SyncStatusMsg) ReadAsRoot

func (x *SyncStatusMsg) ReadAsRoot(reader *karmem.Reader)

func (*SyncStatusMsg) Reset

func (x *SyncStatusMsg) Reset()

func (*SyncStatusMsg) Write

func (x *SyncStatusMsg) Write(writer *karmem.Writer, start uint) (offset uint, err error)

func (*SyncStatusMsg) WriteAsRoot

func (x *SyncStatusMsg) WriteAsRoot(writer *karmem.Writer) (offset uint, err error)

type SyncStatusMsgViewer

type SyncStatusMsgViewer struct {
	// contains filtered or unexported fields
}

func NewSyncStatusMsgViewer

func NewSyncStatusMsgViewer(reader *karmem.Reader, offset uint32) (v *SyncStatusMsgViewer)

func (*SyncStatusMsgViewer) BufferedEndHeight

func (x *SyncStatusMsgViewer) BufferedEndHeight() (v int64)

func (*SyncStatusMsgViewer) BufferedStartHeight

func (x *SyncStatusMsgViewer) BufferedStartHeight() (v int64)

func (*SyncStatusMsgViewer) LatestHash

func (x *SyncStatusMsgViewer) LatestHash() (v []byte)

func (*SyncStatusMsgViewer) LatestHeight

func (x *SyncStatusMsgViewer) LatestHeight() (v int64)

type TimeSyncMsg

type TimeSyncMsg struct {
	Code       int8
	ReqTime    int64
	RecReqTime int64
	RspTime    int64
	RecRspTime int64
}

func NewTimeSyncMsg

func NewTimeSyncMsg() TimeSyncMsg

func (*TimeSyncMsg) PacketIdentifier

func (x *TimeSyncMsg) PacketIdentifier() PacketIdentifier

func (*TimeSyncMsg) Read

func (x *TimeSyncMsg) Read(viewer *TimeSyncMsgViewer, reader *karmem.Reader)

func (*TimeSyncMsg) ReadAsRoot

func (x *TimeSyncMsg) ReadAsRoot(reader *karmem.Reader)

func (*TimeSyncMsg) Reset

func (x *TimeSyncMsg) Reset()

func (*TimeSyncMsg) Write

func (x *TimeSyncMsg) Write(writer *karmem.Writer, start uint) (offset uint, err error)

func (*TimeSyncMsg) WriteAsRoot

func (x *TimeSyncMsg) WriteAsRoot(writer *karmem.Writer) (offset uint, err error)

type TimeSyncMsgViewer

type TimeSyncMsgViewer struct {
	// contains filtered or unexported fields
}

func NewTimeSyncMsgViewer

func NewTimeSyncMsgViewer(reader *karmem.Reader, offset uint32) (v *TimeSyncMsgViewer)

func (*TimeSyncMsgViewer) Code

func (x *TimeSyncMsgViewer) Code() (v int8)

func (*TimeSyncMsgViewer) RecReqTime

func (x *TimeSyncMsgViewer) RecReqTime() (v int64)

func (*TimeSyncMsgViewer) RecRspTime

func (x *TimeSyncMsgViewer) RecRspTime() (v int64)

func (*TimeSyncMsgViewer) ReqTime

func (x *TimeSyncMsgViewer) ReqTime() (v int64)

func (*TimeSyncMsgViewer) RspTime

func (x *TimeSyncMsgViewer) RspTime() (v int64)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL