types

package
v0.4.1 Latest Latest
Warning

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

Go to latest
Published: Jul 9, 2019 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Overview

Package types defines all types of data send, received and stored. Do not use 'map[string]string' to define a data transported between different modules(systems). It's hard to read and maintain.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BaseResponse

type BaseResponse struct {
	// Code represents whether the response is successful.
	Code int `json:"code"`
	// Msg describes the detailed error message if the response is failed.
	Msg string `json:"msg,omitempty"`
}

BaseResponse defines the common fields of responses from supernode. Types of supernode's responses could be defines as following:

type XXResponse struct {
	*BaseResponse
	Data *CustomizedDataStruct
}

func NewBaseResponse

func NewBaseResponse(code int, msg string) *BaseResponse

NewBaseResponse create a BaseResponse instance.

func (*BaseResponse) IsSuccess

func (res *BaseResponse) IsSuccess() bool

IsSuccess is used for determining whether the response is successful.

type ClientErrorRequest added in v0.3.1

type ClientErrorRequest struct {
	ErrorType   string `request:"errorType"`
	SrcCid      string `request:"srcCid"`
	DstCid      string `request:"dstCid"`
	DstIP       string `request:"dstIp"`
	TaskID      string `request:"taskId"`
	Range       string `request:"range"`
	RealMd5     string `request:"realMd5"`
	ExpectedMd5 string `request:"expectedMd5"`
}

ClientErrorRequest reports the error to supernode when dfget downloading piece from supernode

type MetaInfo

type MetaInfo struct {
	ServicePort int
}

MetaInfo stores meta information of dfget.

type PullPieceTaskRequest

type PullPieceTaskRequest struct {
	SrcCid string `request:"srcCid"`
	DstCid string `request:"dstCid"`
	Range  string `request:"range"`
	Result int    `request:"result"`
	Status int    `request:"status"`
	TaskID string `request:"taskId"`
}

PullPieceTaskRequest is send to supernodes when pulling pieces.

type PullPieceTaskResponse added in v0.3.0

type PullPieceTaskResponse struct {
	*BaseResponse
	Data json.RawMessage `json:"data,omitempty"`
	// contains filtered or unexported fields
}

PullPieceTaskResponse is the response of PullPieceTaskRequest.

func (*PullPieceTaskResponse) ContinueData added in v0.3.0

ContinueData gets structured data from json.RawMessage when the task is continuing.

func (*PullPieceTaskResponse) FinishData added in v0.3.0

FinishData gets structured data from json.RawMessage when the task is finished.

func (*PullPieceTaskResponse) String added in v0.3.0

func (res *PullPieceTaskResponse) String() string

type PullPieceTaskResponseContinueData added in v0.3.0

type PullPieceTaskResponseContinueData struct {
	Range     string `json:"range"`
	PieceNum  int    `json:"pieceNum"`
	PieceSize int32  `json:"pieceSize"`
	PieceMd5  string `json:"pieceMd5"`
	Cid       string `json:"cid"`
	PeerIP    string `json:"peerIp"`
	PeerPort  int    `json:"peerPort"`
	Path      string `json:"path"`
	DownLink  int    `json:"downLink"`
}

PullPieceTaskResponseContinueData is the data when successfully pulling piece task and the task is continuing.

func (*PullPieceTaskResponseContinueData) String added in v0.3.0

type PullPieceTaskResponseFinishData added in v0.3.0

type PullPieceTaskResponseFinishData struct {
	Md5        string `json:"md5"`
	FileLength int64  `json:"fileLength"`
}

PullPieceTaskResponseFinishData is the data when successfully pulling piece task and the task is finished.

func (*PullPieceTaskResponseFinishData) String added in v0.3.0

func (data *PullPieceTaskResponseFinishData) String() string

type RegisterRequest

type RegisterRequest struct {
	SupernodeIP string   `json:"superNodeIp"`
	RawURL      string   `json:"rawUrl"`
	TaskURL     string   `json:"taskUrl"`
	Cid         string   `json:"cid"`
	IP          string   `json:"ip"`
	HostName    string   `json:"hostName"`
	Port        int      `json:"port"`
	Path        string   `json:"path"`
	Version     string   `json:"version,omitempty"`
	Md5         string   `json:"md5,omitempty"`
	Identifier  string   `json:"identifier,omitempty"`
	CallSystem  string   `json:"callSystem,omitempty"`
	Headers     []string `json:"headers,omitempty"`
	Dfdaemon    bool     `json:"dfdaemon,omitempty"`
}

RegisterRequest contains all the parameters that need to be passed to the supernode when registering a downloading task.

func (*RegisterRequest) String added in v0.3.0

func (r *RegisterRequest) String() string

type RegisterResponse

type RegisterResponse struct {
	*BaseResponse
	Data *RegisterResponseData `json:"data,omitempty"`
}

RegisterResponse is the response of register request.

func (*RegisterResponse) String added in v0.3.0

func (res *RegisterResponse) String() string

type RegisterResponseData

type RegisterResponseData struct {
	TaskID     string `json:"taskId"`
	FileLength int64  `json:"fileLength"`
	PieceSize  int32  `json:"pieceSize"`
}

RegisterResponseData is the data when registering supernode successfully.

type ReportPieceRequest

type ReportPieceRequest struct {
	TaskID     string `request:"taskId"`
	Cid        string `request:"cid"`
	DstCid     string `request:"dstCid"`
	PieceRange string `request:"pieceRange"`
}

ReportPieceRequest is send to the supernode when dfget downloaded a piece successfully.

Jump to

Keyboard shortcuts

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