Go SDK

最近更新时间:2018-10-31 12:00:00

go 开发版本: go1.10.3

接口说明

包结构:

xyess
|-- bridge
|   `-- bridge.go
|`-- xyess.go

依赖的外部库:

libxyess.so
安装方式请参见 lib/INSTALL 对外接口:

1、下载任务管理器

 type GlobalDownManager
        func NewGlobalDownManager(ak string, sk string) (*GlobalDownManager, error)
        func (obj *GlobalDownManager) EnableLog(enable bool)
        func (obj *GlobalDownManager) GetVersion() string
        func (obj *GlobalDownManager) NewDownloadTask(origin_url string) (*DownloadTask, error)
        func (obj *GlobalDownManager) Release()

func NewGlobalDownManager(ak string, sk string) (*GlobalDownManager, error)

创建一个下载管理器,该函数调用且仅调用一次。
参数:
ak:用户的ak用于token验证
sk:用户的ak用于token验证
返回值:管理器对象的引用。如果失败,返回空,错误信息存储在error中。

func (obj *GlobalDownManager) EnableLog(enable bool)

是否开启日志
参数: true:开启日志
Flase:关闭日志

func (obj *GlobalDownManager) GetVersion() string

获取版本号:
返回值: SDK 版本号,格式一般为 X.X.X,调用失败返回空

func (obj *GlobalDownManager) NewDownloadTask(origin_url string) (*DownloadTask, error)

新建一个下载任务
参数:
origin_url:原始请求地址
返回值:下载任务的对象引用,如果失败,则返回空,错误信息存储在error中。

func (obj *GlobalDownManager) Release()

释放下载管理器。

2、下载任务对象

    type DownloadTask
        func (obj *DownloadTask) GetDownloadURL() string
        func (obj *DownloadTask) GetTaskInfo() string
        func (obj *DownloadTask) Stop()

func (obj *DownloadTask) GetDownloadURL() string

获取下载请求的HTTP地址
返回值:用于请求HTTP GET的URL.

func (obj *DownloadTask) GetTaskInfo() string

获取对应url的流量信息和速率信息,具体见下面说明
返回值JSON格式举例说明:

{
    “url”: “http://ntes.u.00cdn.com/p2p/6m.mp4”,
    “ip”:”1.1.1.1”,
    “down_cdn”: 123456,
    “down_peer”: 654321,
    “down_cdn_speed”: 123,
    “down_peer_speed”: 654
}

字段说明:

  1. ip CDN IP地址
  2. down_cdn 从CDN获取的流量,单位bytes
  3. down_peer 从玩客云节点获取的流量,单位bytes
  4. down_cdn_speed CDN实时下载速率,单位bytes/s
  5. down_peer_speed 玩客云节点实时下载速率,单位bytes/s

任务的流量信息&实时速率更新时机:
1秒更新一次

func (obj *DownloadTask) Stop()

停止对应任务,删除相关任务信息,即使不调用接口,在请求连接断开后延迟10(可配置)秒自动停止。

示例代码:

go sdk下载

请查看src文件下的demo.go文件