• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Golang dnode.Partial类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Golang中github.com/koding/kite/dnode.Partial的典型用法代码示例。如果您正苦于以下问题:Golang Partial类的具体用法?Golang Partial怎么用?Golang Partial使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了Partial类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。

示例1: Callback

// Callback is the callback, used to update the progress bar as remote.cache
// downloads
func (cb *CacheCallback) Callback(par *dnode.Partial) {
	type Progress struct {
		Progress int        `json:progress`
		Error    kite.Error `json:error`
	}

	// TODO: Why is this an array from Klient? How can this be written cleaner?
	ps := []Progress{{}}
	par.MustUnmarshal(&ps)
	p := ps[0]

	cb.Log.Debug("CacheCallback Progress: %#v", p)

	if p.Error.Message != "" {
		cb.doneErr <- p.Error
	}

	cb.Bar.Set(p.Progress)

	// TODO: Disable the callback here, so that it's impossible to double call
	// the progress after competion - to avoid weird/bad UX and errors.
	if p.Progress == 100 {
		cb.doneErr <- nil
	}
}
开发者ID:,项目名称:,代码行数:27,代码来源:


示例2: SetSize

func (s *Server) SetSize(d *dnode.Partial) {
	args := d.MustSliceOfLength(2)
	x := args[0].MustFloat64()
	y := args[1].MustFloat64()

	err := s.client.ResizeExecTTY(s.Session, int(y), int(x))
	if err != nil {
		fmt.Println("error resizing", err)
	}
}
开发者ID:koding,项目名称:koding,代码行数:10,代码来源:connect.go


示例3: Input

// Input is called when some text is written to the terminal.
func (s *Server) Input(d *dnode.Partial) {
	data := d.MustSliceOfLength(1)[0].MustString()

	if s.inputHook != nil {
		s.inputHook()
	}

	// There is no need to protect the Write() with a mutex because
	// Kite Library guarantees that only one message is processed at a time.
	s.in.Write([]byte(data))
}
开发者ID:koding,项目名称:koding,代码行数:12,代码来源:connect.go


示例4: newRequest

// newRequest returns a new *Request from the method and arguments passed.
func (c *Client) newRequest(method string, args *dnode.Partial) (*Request, func(interface{}, *Error)) {
	// Parse dnode method arguments: [options]
	var options callOptions
	args.One().MustUnmarshal(&options)

	// Notify the handlers registered with Kite.OnFirstRequest().
	if _, ok := c.session.(*sockjsclient.WebsocketSession); !ok {
		c.firstRequestHandlersNotified.Do(func() {
			c.m.Lock()
			c.Kite = options.Kite
			c.m.Unlock()
			c.LocalKite.callOnFirstRequestHandlers(c)
		})
	}

	request := &Request{
		ID:        utils.RandomString(16),
		Method:    method,
		Args:      options.WithArgs,
		LocalKite: c.LocalKite,
		Client:    c,
		Auth:      options.Auth,
		Context:   cache.NewMemory(),
	}

	// Call response callback function, send back our response
	callFunc := func(result interface{}, err *Error) {
		if options.ResponseCallback.Caller == nil {
			return
		}

		// Only argument to the callback.
		response := Response{
			Result: result,
			Error:  err,
		}

		if err := options.ResponseCallback.Call(response); err != nil {
			c.LocalKite.Log.Error(err.Error())
		}
	}

	return request, callFunc
}
开发者ID:rjeczalik,项目名称:kite,代码行数:45,代码来源:request.go


示例5: Output

func (r *termHandler) Output(d *dnode.Partial) {
	data := d.MustSliceOfLength(1)[0].MustString()
	r.output <- data
}
开发者ID:koding,项目名称:koding,代码行数:4,代码来源:terminal_test.go


示例6: ControlSequence

// ControlSequence is called when a non-printable key is pressed on the terminal.
func (s *Server) ControlSequence(d *dnode.Partial) {
	data := d.MustSliceOfLength(1)[0].MustString()
	s.controlSequence.Write([]byte(data))
}
开发者ID:koding,项目名称:koding,代码行数:5,代码来源:connect.go


示例7: SetSize

func (s *Server) SetSize(d *dnode.Partial) {
	args := d.MustSliceOfLength(2)
	x := args[0].MustFloat64()
	y := args[1].MustFloat64()
	s.setSize(x, y)
}
开发者ID:koding,项目名称:koding,代码行数:6,代码来源:server.go



注:本文中的github.com/koding/kite/dnode.Partial类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Golang protocol.Kite类代码示例发布时间:2022-05-23
下一篇:
Golang kite.Client类代码示例发布时间:2022-05-23
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap