networkv2

package
v0.0.0-...-e899ace Latest Latest
Warning

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

Go to latest
Published: Nov 9, 2021 License: Apache-2.0 Imports: 35 Imported by: 0

Documentation

Overview

Package networkv2 is an upgraded version of the networkv1, and provides basic network layer components.

Package networkv2 is an upgraded version of the networkv1, and provides basic network layer components. Node is responsible for building a computer node with complete network functions.

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidLengthChat = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowChat   = fmt.Errorf("proto: integer overflow")
)
View Source
var Request_Type_name = map[int32]string{
	0: "SEND_MESSAGE",
	1: "UPDATE_PEER",
}
View Source
var Request_Type_value = map[string]int32{
	"SEND_MESSAGE": 0,
	"UPDATE_PEER":  1,
}

Functions

func ParseRelayPeerID

func ParseRelayPeerID(addr multiaddr.Multiaddr) (peerID string)

ParseRelayPeerID used to parse peer id from multi address which containing "p2p-circuit" flag.

Types

type Node

type Node struct {
	SendMessageChan chan []byte
	Receive         func(msg []byte) error
}

Node respect a peer

func NewNode

func NewNode(ctx context.Context, cfg *localConfig.Config, receive func(msg []byte) error) (*Node, error)

NewNode build a network node, you can add autorelay, gossip to it

func (*Node) Broadcast

func (node *Node) Broadcast(msg []byte)

Broadcast store msg to SendMessageChan channel

type PubSubHandler

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

PubSubHandler ...

type Request

type Request struct {
	Type                 *Request_Type `protobuf:"varint,1,req,name=type,enum=main.Request_Type" json:"type,omitempty"`
	SendMessage          *SendMessage  `protobuf:"bytes,2,opt,name=sendMessage" json:"sendMessage,omitempty"`
	UpdatePeer           *UpdatePeer   `protobuf:"bytes,3,opt,name=updatePeer" json:"updatePeer,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

func (*Request) Descriptor

func (*Request) Descriptor() ([]byte, []int)

func (*Request) GetSendMessage

func (m *Request) GetSendMessage() *SendMessage

func (*Request) GetType

func (m *Request) GetType() Request_Type

func (*Request) GetUpdatePeer

func (m *Request) GetUpdatePeer() *UpdatePeer

func (*Request) Marshal

func (m *Request) Marshal() (dAtA []byte, err error)

func (*Request) MarshalTo

func (m *Request) MarshalTo(dAtA []byte) (int, error)

func (*Request) ProtoMessage

func (*Request) ProtoMessage()

func (*Request) Reset

func (m *Request) Reset()

func (*Request) Size

func (m *Request) Size() (n int)

func (*Request) String

func (m *Request) String() string

func (*Request) Unmarshal

func (m *Request) Unmarshal(dAtA []byte) error

func (*Request) XXX_DiscardUnknown

func (m *Request) XXX_DiscardUnknown()

func (*Request) XXX_Marshal

func (m *Request) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Request) XXX_Merge

func (m *Request) XXX_Merge(src proto.Message)

func (*Request) XXX_Size

func (m *Request) XXX_Size() int

func (*Request) XXX_Unmarshal

func (m *Request) XXX_Unmarshal(b []byte) error

type Request_Type

type Request_Type int32
const (
	Request_SEND_MESSAGE Request_Type = 0
	Request_UPDATE_PEER  Request_Type = 1
)

func (Request_Type) Enum

func (x Request_Type) Enum() *Request_Type

func (Request_Type) EnumDescriptor

func (Request_Type) EnumDescriptor() ([]byte, []int)

func (Request_Type) String

func (x Request_Type) String() string

func (*Request_Type) UnmarshalJSON

func (x *Request_Type) UnmarshalJSON(data []byte) error

type SendMessage

type SendMessage struct {
	Data                 []byte   `protobuf:"bytes,1,req,name=data" json:"data,omitempty"`
	Created              *int64   `protobuf:"varint,2,req,name=created" json:"created,omitempty"`
	Id                   []byte   `protobuf:"bytes,3,req,name=id" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*SendMessage) Descriptor

func (*SendMessage) Descriptor() ([]byte, []int)

func (*SendMessage) GetCreated

func (m *SendMessage) GetCreated() int64

func (*SendMessage) GetData

func (m *SendMessage) GetData() []byte

func (*SendMessage) GetId

func (m *SendMessage) GetId() []byte

func (*SendMessage) Marshal

func (m *SendMessage) Marshal() (dAtA []byte, err error)

func (*SendMessage) MarshalTo

func (m *SendMessage) MarshalTo(dAtA []byte) (int, error)

func (*SendMessage) ProtoMessage

func (*SendMessage) ProtoMessage()

func (*SendMessage) Reset

func (m *SendMessage) Reset()

func (*SendMessage) Size

func (m *SendMessage) Size() (n int)

func (*SendMessage) String

func (m *SendMessage) String() string

func (*SendMessage) Unmarshal

func (m *SendMessage) Unmarshal(dAtA []byte) error

func (*SendMessage) XXX_DiscardUnknown

func (m *SendMessage) XXX_DiscardUnknown()

func (*SendMessage) XXX_Marshal

func (m *SendMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*SendMessage) XXX_Merge

func (m *SendMessage) XXX_Merge(src proto.Message)

func (*SendMessage) XXX_Size

func (m *SendMessage) XXX_Size() int

func (*SendMessage) XXX_Unmarshal

func (m *SendMessage) XXX_Unmarshal(b []byte) error

type StreamNetProtocol

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

StreamNetProtocol used to transfer data from peer to peer

type UpdatePeer

type UpdatePeer struct {
	UserHandle           []byte   `protobuf:"bytes,1,opt,name=userHandle" json:"userHandle,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*UpdatePeer) Descriptor

func (*UpdatePeer) Descriptor() ([]byte, []int)

func (*UpdatePeer) GetUserHandle

func (m *UpdatePeer) GetUserHandle() []byte

func (*UpdatePeer) Marshal

func (m *UpdatePeer) Marshal() (dAtA []byte, err error)

func (*UpdatePeer) MarshalTo

func (m *UpdatePeer) MarshalTo(dAtA []byte) (int, error)

func (*UpdatePeer) ProtoMessage

func (*UpdatePeer) ProtoMessage()

func (*UpdatePeer) Reset

func (m *UpdatePeer) Reset()

func (*UpdatePeer) Size

func (m *UpdatePeer) Size() (n int)

func (*UpdatePeer) String

func (m *UpdatePeer) String() string

func (*UpdatePeer) Unmarshal

func (m *UpdatePeer) Unmarshal(dAtA []byte) error

func (*UpdatePeer) XXX_DiscardUnknown

func (m *UpdatePeer) XXX_DiscardUnknown()

func (*UpdatePeer) XXX_Marshal

func (m *UpdatePeer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*UpdatePeer) XXX_Merge

func (m *UpdatePeer) XXX_Merge(src proto.Message)

func (*UpdatePeer) XXX_Size

func (m *UpdatePeer) XXX_Size() int

func (*UpdatePeer) XXX_Unmarshal

func (m *UpdatePeer) XXX_Unmarshal(b []byte) error

Jump to

Keyboard shortcuts

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