Documentation ¶
Index ¶
- func DefaultMarshal(v interface{}) ([]byte, error)
- func DefaultUnmarshal(data []byte, v interface{}) error
- func NewFinanceInfo(market proto.MarketType, code string) (*FinanceInfoRequest, *FinanceInfoResponse, error)
- func NewGetSecurityList(market proto.MarketType, start int) (*GetSecurityListRequest, *GetSecurityListResponse, error)
- func NewSecurityCount(market proto.MarketType) (*SecurityCountRequest, *SecurityCountResponse, error)
- func NewSetupCmd1() (*SetupCmd1Request, *SetupCmd1Response, error)
- func NewSetupCmd2() (*SetupCmd2Request, *SetupCmd2Response, error)
- func NewSetupCmd3() (*SetupCmd3Request, *SetupCmd3Response, error)
- type Factory
- type FinanceInfo
- type FinanceInfoRequest
- type FinanceInfoResponse
- type FinanceInfoResponseRaw
- type GetSecurityListRequest
- type GetSecurityListResponse
- type Marshaler
- type PacketHeader
- type SecurityCountRequest
- type SecurityCountResponse
- type SetupCmd1Request
- type SetupCmd1Response
- type SetupCmd2Request
- type SetupCmd2Response
- type SetupCmd3Request
- type SetupCmd3Response
- type Stock
- type Unmarshaler
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DefaultMarshal ¶
DefaultMarshal 基于struc包的序列化方案
func DefaultUnmarshal ¶
DefaultUnmarshal 基于struc包的反序列化方案
func NewFinanceInfo ¶
func NewFinanceInfo(market proto.MarketType, code string) (*FinanceInfoRequest, *FinanceInfoResponse, error)
func NewGetSecurityList ¶
func NewGetSecurityList(market proto.MarketType, start int) (*GetSecurityListRequest, *GetSecurityListResponse, error)
func NewSecurityCount ¶
func NewSecurityCount(market proto.MarketType) (*SecurityCountRequest, *SecurityCountResponse, error)
func NewSetupCmd1 ¶
func NewSetupCmd1() (*SetupCmd1Request, *SetupCmd1Response, error)
func NewSetupCmd2 ¶
func NewSetupCmd2() (*SetupCmd2Request, *SetupCmd2Response, error)
func NewSetupCmd3 ¶
func NewSetupCmd3() (*SetupCmd3Request, *SetupCmd3Response, error)
Types ¶
type Factory ¶
type Factory func() (Marshaler, Unmarshaler, error)
type FinanceInfo ¶
type FinanceInfo struct { LiuTongGuBen float64 `struc:"float32,little" json:"liu_tong_gu_ben"` Province uint16 `struc:"uint16,little" json:"province"` Industry uint16 `struc:"uint16,little" json:"industry"` UpdatedDate uint32 `struc:"uint32,little" json:"updatedDate"` IPODate uint32 `struc:"uint32,little" json:"ipo_date"` ZongGuBen float64 `struc:"float32,little" json:"zong_gu_ben"` GuoJiaGu float64 `struc:"float32,little" json:"guo_jia_gu"` FaQiRenFaRenGu float64 `struc:"float32,little" json:"fa_qi_ren_fa_ren_gu"` FaRenGu float64 `struc:"float32,little" json:"fa_ren_gu"` BGu float64 `struc:"float32,little" json:"b_gu"` HGu float64 `struc:"float32,little" json:"h_gu"` ZhiGongGu float64 `struc:"float32,little" json:"zhi_gong_gu"` ZongZiChan float64 `struc:"float32,little" json:"zong_zi_chan"` LiuDongZiChan float64 `struc:"float32,little" json:"liu_dong_zi_chan"` GuDingZiChan float64 `struc:"float32,little" json:"gu_ding_zi_chan"` WuXingZiChan float64 `struc:"float32,little" json:"wu_xing_zi_chan"` GuDongRenShu float64 `struc:"float32,little" json:"gu_dong_ren_shu"` LiuDongFuZhai float64 `struc:"float32,little" json:"liu_dong_fu_zhai"` ChangQiFuZhai float64 `struc:"float32,little" json:"chang_qi_fu_zhai"` ZiBenGongJiJin float64 `struc:"float32,little" json:"zi_ben_gong_ji_jin"` JingZiChan float64 `struc:"float32,little" json:"jing_zi_chan"` ZhuYingShouRu float64 `struc:"float32,little" json:"zhu_ying_shou_ru"` ZhuYingLiRun float64 `struc:"float32,little" json:"zhu_ying_li_run"` YingShouZhangKuan float64 `struc:"float32,little" json:"ying_shou_zhang_kuan"` YingyeLiRun float64 `struc:"float32,little" json:"yingye_li_run"` TouZiShouYu float64 `struc:"float32,little" json:"tou_zi_shou_yu"` JingYingxianJinLiu float64 `struc:"float32,little" json:"jing_yingxian_jin_liu"` ZongXianJinLiu float64 `struc:"float32,little" json:"zong_xian_jin_liu"` CunHuo float64 `struc:"float32,little" json:"cun_huo"` LiRunZongHe float64 `struc:"float32,little" json:"li_run_zong_he"` ShuiHouLiRun float64 `struc:"float32,little" json:"shui_hou_li_run"` JingLiRun float64 `struc:"float32,little" json:"jing_li_run"` WeiFenLiRun float64 `struc:"float32,little" json:"wei_fen_li_run"` MeiGuJingZiChan float64 `struc:"float32,little" json:"mei_gu_jing_zi_chan"` BaoLiu2 float64 `struc:"float32,little" json:"bao_liu_2"` }
type FinanceInfoRequest ¶
type FinanceInfoRequest struct { // struc不允许slice解析,只允许包含长度的array,该长度可根据hex字符串计算 Unknown1 []byte `struc:"[14]byte"` // pytdx中使用struct.Pack进行反序列化 // 其中<H等价于这里的struc:"uint16,little" // <I等价于struc:"uint32,little" Market proto.MarketType `struc:"uint8,little" json:"market"` Code string `struc:"[6]byte,little" json:"code"` }
请求包结构
func NewFinanceInfoRequest ¶
func NewFinanceInfoRequest(market proto.MarketType, code string) (*FinanceInfoRequest, error)
todo: 检测market是否为合法值
func (*FinanceInfoRequest) Marshal ¶
func (req *FinanceInfoRequest) Marshal() ([]byte, error)
请求包序列化输出
type FinanceInfoResponse ¶
type FinanceInfoResponse struct {
FinanceInfo
}
响应包结构
func (*FinanceInfoResponse) Unmarshal ¶
func (resp *FinanceInfoResponse) Unmarshal(data []byte) error
内部套用原始结构解析,外部为经过解析之后的响应信息
type FinanceInfoResponseRaw ¶
type FinanceInfoResponseRaw struct { Unknown1 []byte `struc:"[2]byte,little" json:"unknown1"` Market int `struc:"uint8,little" json:"market"` Code string `struc:"[6]byte,little" json:"code"` //Info FinanceInfo `struc:"[136]byte,little" json:"info"` LiuTongGuBen float32 `struc:"float32,little" json:"liuTongGuBen"` Province uint16 `struc:"uint16,little" json:"province"` Industry uint16 `struc:"uint16,little" json:"industry"` UpdatedDate uint32 `struc:"uint32,little" json:"updatedDate"` IPODate uint32 `struc:"uint32,little" json:"ipo_date"` ZongGuBen float32 `struc:"float32,little"` GuoJiaGu float32 `struc:"float32,little"` FaQiRenFaRenGu float32 `struc:"float32,little"` FaRenGu float32 `struc:"float32,little"` BGu float32 `struc:"float32,little"` HGu float32 `struc:"float32,little"` ZhiGongGu float32 `struc:"float32,little"` ZongZiChan float32 `struc:"float32,little"` LiuDongZiChan float32 `struc:"float32,little"` GuDingZiChan float32 `struc:"float32,little"` WuXingZiChan float32 `struc:"float32,little"` GuDongRenShu float32 `struc:"float32,little"` LiuDongFuZhai float32 `struc:"float32,little"` ChangQiFuZhai float32 `struc:"float32,little"` ZiBenGongJiJin float32 `struc:"float32,little"` JingZiChan float32 `struc:"float32,little"` ZhuYingShouRu float32 `struc:"float32,little"` ZhuYingLiRun float32 `struc:"float32,little"` Yingshouzhangkuan float32 `struc:"float32,little"` YingyeLiRun float32 `struc:"float32,little"` TouZiShouYu float32 `struc:"float32,little"` JingYingxianJinLiu float32 `struc:"float32,little"` ZongXianJinLiu float32 `struc:"float32,little"` CunHuo float32 `struc:"float32,little"` LiRunZongHe float32 `struc:"float32,little"` ShuiHouLiRun float32 `struc:"float32,little"` JingLiRun float32 `struc:"float32,little"` WeiFenLiRun float32 `struc:"float32,little"` BaoLiu1 float32 `struc:"float32,little"` BaoLiu2 float32 `struc:"float32,little"` }
响应包结构
func (*FinanceInfoResponseRaw) Unmarshal ¶
func (resp *FinanceInfoResponseRaw) Unmarshal(data []byte) error
type GetSecurityListRequest ¶
type GetSecurityListRequest struct { // struc不允许slice解析,只允许包含长度的array,该长度可根据hex字符串计算 Unknown1 []byte `struc:"[12]byte"` // pytdx中使用struct.Pack进行反序列化 // 其中<H等价于这里的struc:"uint16,little" // <I等价于struc:"uint32,little" Market proto.MarketType `struc:"uint16,little" json:"market"` Start int `struc:"uint16,little" json:"start"` }
请求包结构
func NewGetSecurityListRequest ¶
func NewGetSecurityListRequest(market proto.MarketType, start int) (*GetSecurityListRequest, error)
todo: 检测market是否为合法值
func (*GetSecurityListRequest) Marshal ¶
func (req *GetSecurityListRequest) Marshal() ([]byte, error)
请求包序列化输出
type GetSecurityListResponse ¶
type GetSecurityListResponse struct { Count int `struc:"uint16,little,sizeof=Stocks" json:"count"` Stocks []Stock `struc:"[29]byte, little" json:"stocks"` }
GetSecurityListResponse 响应包结构
func (*GetSecurityListResponse) Unmarshal ¶
func (resp *GetSecurityListResponse) Unmarshal(data []byte) error
Unmarshal 内部套用原始结构解析,外部为经过解析之后的响应信息
type PacketHeader ¶
type PacketHeader struct { Unknown1 uint `struc:"uint32,little" json:"unknown_1"` // B will be encoded/decoded as a 16-bit int (a "short") // but is stored as a native int in the struct Unknown2 uint `struc:"uint32,little" json:"unknown_2"` // the sizeof key links a buffer's size to any int field Unknown3 uint `struc:"uint32,little" json:"unknown_3"` ZipSize int `struc:"uint16,little" json:"zip_size"` // you can get freaky if you want UnzipSize int `struc:"uint16,little" json:"unzip_size"` // contains filtered or unexported fields }
PacketHeader 行情服务器发送第一条指令的返回数据
func (*PacketHeader) Bytes ¶
func (h *PacketHeader) Bytes() []byte
func (*PacketHeader) Compressed ¶
func (h *PacketHeader) Compressed() bool
func (*PacketHeader) Size ¶
func (h *PacketHeader) Size() int
func (*PacketHeader) Unmarshal ¶
func (h *PacketHeader) Unmarshal(data []byte) error
type SecurityCountRequest ¶
type SecurityCountRequest struct { Unknown1 []byte `struc:"[12]byte"` Market proto.MarketType `struc:"uint16,little" json:"market"` Unknown2 []byte `struc:"[4]byte"` }
SecurityCountRequest 请求包结构
func NewSecurityCountRequest ¶
func NewSecurityCountRequest(market proto.MarketType) (*SecurityCountRequest, error)
todo: 检测market是否为合法值
func (*SecurityCountRequest) Marshal ¶
func (req *SecurityCountRequest) Marshal() ([]byte, error)
Marshal 请求包序列化输出
type SecurityCountResponse ¶
type SecurityCountResponse struct {
Count uint `struc:"uint16,little" json:"count"`
}
SecurityCountResponse 响应包结构
func (*SecurityCountResponse) Unmarshal ¶
func (resp *SecurityCountResponse) Unmarshal(data []byte) error
type SetupCmd1Request ¶
type SetupCmd1Request struct {
Cmd []byte `struc:"[13]byte" json:"cmd"`
}
SetupCmd1Request 请求包结构
func (*SetupCmd1Request) Marshal ¶
func (req *SetupCmd1Request) Marshal() ([]byte, error)
Marshal 请求包序列化输出
type SetupCmd1Response ¶
SetupCmd1Response 响应包结构 serverInfo := Utf8ToGbk(data[68:])
func (*SetupCmd1Response) Unmarshal ¶
func (resp *SetupCmd1Response) Unmarshal(data []byte) error
type SetupCmd2Request ¶
type SetupCmd2Request struct {
Cmd []byte `struc:"[13]byte" json:"cmd"`
}
SetupCmd2Request 请求包结构
func NewSetupCmd2Request ¶
func NewSetupCmd2Request() (*SetupCmd2Request, error)
NewSetupCmd2Request 创建SetupCmd2请求包
func (*SetupCmd2Request) Marshal ¶
func (req *SetupCmd2Request) Marshal() ([]byte, error)
Marshal 请求包序列化输出
type SetupCmd2Response ¶
type SetupCmd2Response struct {
Unknown []byte `json:"unknown"`
}
SetupCmd2Response 响应包结构
func (*SetupCmd2Response) Unmarshal ¶
func (resp *SetupCmd2Response) Unmarshal(data []byte) error
type SetupCmd3Request ¶
type SetupCmd3Request struct {
Cmd []byte `struc:"[42]byte" json:"cmd"`
}
SetupCmd3Request 请求包结构
func NewSetupCmd3Request ¶
func NewSetupCmd3Request() (*SetupCmd3Request, error)
NewSetupCmd3Request 创建SetupCmd3请求包
func (*SetupCmd3Request) Marshal ¶
func (req *SetupCmd3Request) Marshal() ([]byte, error)
Marshal 请求包序列化输出
type SetupCmd3Response ¶
type SetupCmd3Response struct {
Unknown []byte `json:"unknown"`
}
SetupCmd3Response 响应包结构
func (*SetupCmd3Response) Unmarshal ¶
func (resp *SetupCmd3Response) Unmarshal(data []byte) error