Documentation
¶
Index ¶
- Variables
- func RegisterGreeterServer(s *grpc.Server, srv GreeterServer)
- type AddressIDReceiver
- type GRPCConnector
- type GreeterClient
- type GreeterServer
- type HelloRequest
- func (*HelloRequest) Descriptor() ([]byte, []int)
- func (m *HelloRequest) GetName() string
- func (m *HelloRequest) Marshal() (dAtA []byte, err error)
- func (m *HelloRequest) MarshalTo(dAtA []byte) (int, error)
- func (m *HelloRequest) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*HelloRequest) ProtoMessage()
- func (m *HelloRequest) Reset()
- func (m *HelloRequest) Size() (n int)
- func (m *HelloRequest) String() string
- func (m *HelloRequest) Unmarshal(dAtA []byte) error
- func (m *HelloRequest) XXX_DiscardUnknown()
- func (m *HelloRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *HelloRequest) XXX_Merge(src proto.Message)
- func (m *HelloRequest) XXX_Size() int
- func (m *HelloRequest) XXX_Unmarshal(b []byte) error
- type HelloResponse
- func (*HelloResponse) Descriptor() ([]byte, []int)
- func (m *HelloResponse) GetMessage() string
- func (m *HelloResponse) Marshal() (dAtA []byte, err error)
- func (m *HelloResponse) MarshalTo(dAtA []byte) (int, error)
- func (m *HelloResponse) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*HelloResponse) ProtoMessage()
- func (m *HelloResponse) Reset()
- func (m *HelloResponse) Size() (n int)
- func (m *HelloResponse) String() string
- func (m *HelloResponse) Unmarshal(dAtA []byte) error
- func (m *HelloResponse) XXX_DiscardUnknown()
- func (m *HelloResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *HelloResponse) XXX_Merge(src proto.Message)
- func (m *HelloResponse) XXX_Size() int
- func (m *HelloResponse) XXX_Unmarshal(b []byte) error
- type ID
- type Interface
- type Params
- type Peer
- type PeerFilter
- type PeerNetAddressStore
- type PublicKeyStore
- type SelfIDReceiver
- type Storage
- type Store
- type StoreParams
- type UnimplementedGreeterServer
Constants ¶
This section is empty.
Variables ¶
var ( // ErrDialToSelf is returned if we attempt to dial our own peer ErrDialToSelf = errors.New("dial to self attempted") // ErrEmptyAddress returns when you try to create Interface with empty address ErrEmptyAddress = errors.New("self address could not be empty") // ErrEmptyTransport returns when you try to create Interface with empty transport ErrEmptyTransport = errors.New("transport could not be empty") )
Functions ¶
func RegisterGreeterServer ¶
func RegisterGreeterServer(s *grpc.Server, srv GreeterServer)
Types ¶
type AddressIDReceiver ¶
AddressIDReceiver is an interface of Multiaddr to ID converter.
type GRPCConnector ¶
type GRPCConnector interface {
GRPCConnection(ctx context.Context, maddr multiaddr.Multiaddr, reset bool) (*grpc.ClientConn, error)
}
GRPCConnector is an interface of gRPC virtual connector.
type GreeterClient ¶
type GreeterClient interface {
Hello(ctx context.Context, in *HelloRequest, opts ...grpc.CallOption) (*HelloResponse, error)
}
GreeterClient is the client API for Greeter service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
func NewGreeterClient ¶
func NewGreeterClient(cc *grpc.ClientConn) GreeterClient
type GreeterServer ¶
type GreeterServer interface {
Hello(context.Context, *HelloRequest) (*HelloResponse, error)
}
GreeterServer is the server API for Greeter service.
type HelloRequest ¶
type HelloRequest struct {
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
Request message example
func (*HelloRequest) Descriptor ¶
func (*HelloRequest) Descriptor() ([]byte, []int)
func (*HelloRequest) GetName ¶
func (m *HelloRequest) GetName() string
func (*HelloRequest) Marshal ¶
func (m *HelloRequest) Marshal() (dAtA []byte, err error)
func (*HelloRequest) MarshalToSizedBuffer ¶
func (m *HelloRequest) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*HelloRequest) ProtoMessage ¶
func (*HelloRequest) ProtoMessage()
func (*HelloRequest) Reset ¶
func (m *HelloRequest) Reset()
func (*HelloRequest) Size ¶
func (m *HelloRequest) Size() (n int)
func (*HelloRequest) String ¶
func (m *HelloRequest) String() string
func (*HelloRequest) Unmarshal ¶
func (m *HelloRequest) Unmarshal(dAtA []byte) error
func (*HelloRequest) XXX_DiscardUnknown ¶
func (m *HelloRequest) XXX_DiscardUnknown()
func (*HelloRequest) XXX_Marshal ¶
func (m *HelloRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*HelloRequest) XXX_Merge ¶
func (m *HelloRequest) XXX_Merge(src proto.Message)
func (*HelloRequest) XXX_Size ¶
func (m *HelloRequest) XXX_Size() int
func (*HelloRequest) XXX_Unmarshal ¶
func (m *HelloRequest) XXX_Unmarshal(b []byte) error
type HelloResponse ¶
type HelloResponse struct {
Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (*HelloResponse) Descriptor ¶
func (*HelloResponse) Descriptor() ([]byte, []int)
func (*HelloResponse) GetMessage ¶
func (m *HelloResponse) GetMessage() string
func (*HelloResponse) Marshal ¶
func (m *HelloResponse) Marshal() (dAtA []byte, err error)
func (*HelloResponse) MarshalToSizedBuffer ¶
func (m *HelloResponse) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*HelloResponse) ProtoMessage ¶
func (*HelloResponse) ProtoMessage()
func (*HelloResponse) Reset ¶
func (m *HelloResponse) Reset()
func (*HelloResponse) Size ¶
func (m *HelloResponse) Size() (n int)
func (*HelloResponse) String ¶
func (m *HelloResponse) String() string
func (*HelloResponse) Unmarshal ¶
func (m *HelloResponse) Unmarshal(dAtA []byte) error
func (*HelloResponse) XXX_DiscardUnknown ¶
func (m *HelloResponse) XXX_DiscardUnknown()
func (*HelloResponse) XXX_Marshal ¶
func (m *HelloResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*HelloResponse) XXX_Merge ¶
func (m *HelloResponse) XXX_Merge(src proto.Message)
func (*HelloResponse) XXX_Size ¶
func (m *HelloResponse) XXX_Size() int
func (*HelloResponse) XXX_Unmarshal ¶
func (m *HelloResponse) XXX_Unmarshal(b []byte) error
type ID ¶
type ID string
ID is a type of peer identification
func IDFromBinary ¶
IDFromBinary returns peer ID for host with given slice of byte.
func IDFromPublicKey ¶
IDFromPublicKey returns peer ID for host with given public key.
type Interface ¶
type Interface interface {
Shutdown() error
Job(context.Context)
Address() multiaddr.Multiaddr
RemoveConnection(maddr multiaddr.Multiaddr) error
Listen(maddr multiaddr.Multiaddr) (manet.Listener, error)
Connect(ctx context.Context, maddr multiaddr.Multiaddr) (manet.Conn, error)
GRPCConnector
}
Interface is an interface of network connections controller.
type Params ¶
type Params struct {
Address multiaddr.Multiaddr
Transport transport.Transport
Logger *zap.Logger
Attempts int64
AttemptsTTL time.Duration
ConnectionTTL time.Duration
ConnectionIDLE time.Duration
MetricsTimeout time.Duration
KeepAliveTTL time.Duration
KeepAlivePingTTL time.Duration
}
Params groups the parameters of Interface.
type Peer ¶
type Peer interface {
ID() ID
Address() multiaddr.Multiaddr
PublicKey() *ecdsa.PublicKey
PrivateKey() (*ecdsa.PrivateKey, error)
SetPrivateKey(*ecdsa.PrivateKey) error
}
Peer is value, that stores in Store storage
func NewLocalPeer ¶
func NewLocalPeer(addr multiaddr.Multiaddr, key *ecdsa.PrivateKey) Peer
NewLocalPeer creates new peer instance.
type PeerNetAddressStore ¶
PeerNetAddressStore is an interface of ID to Multiaddr converter.
type PublicKeyStore ¶
PublicKeyStore is an interface of the storage of peer's public keys.
type SelfIDReceiver ¶
type SelfIDReceiver interface {
SelfID() ID
}
SelfIDReceiver is an interface of local peer ID value with read access.
type Storage ¶
type Storage interface {
Get(ID) (Peer, error)
Set(ID, Peer) error
Has(ID) bool
Rem(ID) error
List(ID, int64, int) ([]ID, error)
Filter(PeerFilter) []ID
Update(*netmap.NetMap) error
}
Storage is storage interface for Store
type Store ¶
type Store interface {
SelfIDReceiver
PublicKeyStore
AddressIDReceiver
AddPeer(multiaddr.Multiaddr, *ecdsa.PublicKey, *ecdsa.PrivateKey) (ID, error)
DeletePeer(ID)
PeerNetAddressStore
GetPrivateKey(ID) (*ecdsa.PrivateKey, error)
Update(*netmap.NetMap) error
Sign([]byte) ([]byte, error)
Verify(id ID, data, sign []byte) error
Check(min int) error
}
Store is an interface to storage of all p2p connections
type StoreParams ¶
type StoreParams struct {
Addr multiaddr.Multiaddr
Key *ecdsa.PrivateKey
Storage Storage
StoreCap int
Logger *zap.Logger
}
StoreParams for creating new Store.
type UnimplementedGreeterServer ¶
type UnimplementedGreeterServer struct {
}
UnimplementedGreeterServer can be embedded to have forward compatible implementations.
func (*UnimplementedGreeterServer) Hello ¶
func (*UnimplementedGreeterServer) Hello(ctx context.Context, req *HelloRequest) (*HelloResponse, error)