Documentation ¶
Overview ¶
Package tracker implements tracker service
Index ¶
- Variables
- func RegisterTrackerServer(s grpc.ServiceRegistrar, srv TrackerServer)
- func Run(conf *config.Config) error
- type AnnounceRequest
- func (*AnnounceRequest) Descriptor() ([]byte, []int)deprecated
- func (x *AnnounceRequest) GetFileHash() string
- func (x *AnnounceRequest) GetPeerPort() string
- func (*AnnounceRequest) ProtoMessage()
- func (x *AnnounceRequest) ProtoReflect() protoreflect.Message
- func (x *AnnounceRequest) Reset()
- func (x *AnnounceRequest) String() string
- type AnnounceResponse
- func (*AnnounceResponse) Descriptor() ([]byte, []int)deprecated
- func (x *AnnounceResponse) GetAnnounceInterval() int64
- func (x *AnnounceResponse) GetPeerAddresses() []string
- func (*AnnounceResponse) ProtoMessage()
- func (x *AnnounceResponse) ProtoReflect() protoreflect.Message
- func (x *AnnounceResponse) Reset()
- func (x *AnnounceResponse) String() string
- type Tracker
- type TrackerClient
- type TrackerServer
- type UnimplementedTrackerServer
- type UnsafeTrackerServer
Constants ¶
This section is empty.
Variables ¶
var File_pkg_tracker_tracker_proto protoreflect.FileDescriptor
var (
PeerFromContextError = errors.New("can't determine peer from context")
)
Functions ¶
func RegisterTrackerServer ¶
func RegisterTrackerServer(s grpc.ServiceRegistrar, srv TrackerServer)
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 ¶
func (UnimplementedTrackerServer) Announce(context.Context, *AnnounceRequest) (*AnnounceResponse, error)
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.