當前位置: 首頁>>代碼示例>>Golang>>正文


Golang dnode.Partial類代碼示例

本文整理匯總了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;未經允許,請勿轉載。