tracker

package
v0.5.4 Latest Latest
Warning

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

Go to latest
Published: Dec 18, 2020 License: MIT Imports: 16 Imported by: 0

Documentation

Overview

Package tracker implements tracker service

Index

Constants

This section is empty.

Variables

View Source
var File_pkg_tracker_tracker_proto protoreflect.FileDescriptor
View Source
var (
	PeerFromContextError = errors.New("can't determine peer from context")
)

Functions

func RegisterTrackerServer

func RegisterTrackerServer(s grpc.ServiceRegistrar, srv TrackerServer)

func Run

func Run(conf *config.Config) error

Run starts tracker server

Types

type AnnounceRequest

type AnnounceRequest struct {
	FileHash string `protobuf:"bytes,1,opt,name=file_hash,json=fileHash,proto3" json:"file_hash,omitempty"`
	PeerPort string `protobuf:"bytes,2,opt,name=peer_port,json=peerPort,proto3" json:"peer_port,omitempty"`
	// contains filtered or unexported fields
}

func (*AnnounceRequest) Descriptor deprecated

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

Deprecated: Use AnnounceRequest.ProtoReflect.Descriptor instead.

func (*AnnounceRequest) GetFileHash

func (x *AnnounceRequest) GetFileHash() string

func (*AnnounceRequest) GetPeerPort

func (x *AnnounceRequest) GetPeerPort() string

func (*AnnounceRequest) ProtoMessage

func (*AnnounceRequest) ProtoMessage()

func (*AnnounceRequest) ProtoReflect

func (x *AnnounceRequest) ProtoReflect() protoreflect.Message

func (*AnnounceRequest) Reset

func (x *AnnounceRequest) Reset()

func (*AnnounceRequest) String

func (x *AnnounceRequest) String() string

type AnnounceResponse

type AnnounceResponse struct {
	PeerAddresses    []string `protobuf:"bytes,1,rep,name=peer_addresses,json=peerAddresses,proto3" json:"peer_addresses,omitempty"`
	AnnounceInterval int64    `protobuf:"varint,2,opt,name=announce_interval,json=announceInterval,proto3" json:"announce_interval,omitempty"`
	// contains filtered or unexported fields
}

func (*AnnounceResponse) Descriptor deprecated

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

Deprecated: Use AnnounceResponse.ProtoReflect.Descriptor instead.

func (*AnnounceResponse) GetAnnounceInterval

func (x *AnnounceResponse) GetAnnounceInterval() int64

func (*AnnounceResponse) GetPeerAddresses

func (x *AnnounceResponse) GetPeerAddresses() []string

func (*AnnounceResponse) ProtoMessage

func (*AnnounceResponse) ProtoMessage()

func (*AnnounceResponse) ProtoReflect

func (x *AnnounceResponse) ProtoReflect() protoreflect.Message

func (*AnnounceResponse) Reset

func (x *AnnounceResponse) Reset()

func (*AnnounceResponse) String

func (x *AnnounceResponse) String() string

type Tracker

type Tracker struct {
	UnimplementedTrackerServer
	// contains filtered or unexported fields
}

Tracker represents tracker service

func (*Tracker) Announce

func (tracker *Tracker) Announce(ctx context.Context, req *AnnounceRequest) (*AnnounceResponse, error)

Announce is called by the daemon and it adds the peer to index

type TrackerClient

type TrackerClient interface {
	Announce(ctx context.Context, in *AnnounceRequest, opts ...grpc.CallOption) (*AnnounceResponse, error)
}

TrackerClient is the client API for Tracker service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

func NewTrackerClient

func NewTrackerClient(cc grpc.ClientConnInterface) TrackerClient

type TrackerServer

type TrackerServer interface {
	Announce(context.Context, *AnnounceRequest) (*AnnounceResponse, error)
	// contains filtered or unexported methods
}

TrackerServer is the server API for Tracker service. All implementations must embed UnimplementedTrackerServer for forward compatibility

type UnimplementedTrackerServer

type UnimplementedTrackerServer struct {
}

UnimplementedTrackerServer must be embedded to have forward compatible implementations.

func (UnimplementedTrackerServer) Announce

type UnsafeTrackerServer

type UnsafeTrackerServer interface {
	// contains filtered or unexported methods
}

UnsafeTrackerServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to TrackerServer will result in compilation errors.

Jump to

Keyboard shortcuts

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