MCPcopy Index your code
hub / github.com/koding/kite / readLoop

Method readLoop

client.go:425–457  ·  view source on GitHub ↗

readLoop reads a message from websocket and processes it.

()

Source from the content-addressed store, hash-verified

423
424// readLoop reads a message from websocket and processes it.
425func (c *Client) readLoop() error {
426 for {
427 p, err := c.receiveData()
428
429 c.LocalKite.Log.Debug("readloop received: %s %v", p, err)
430
431 if err != nil {
432 return err
433 }
434
435 msg, fn, err := c.processMessage(p)
436 if err != nil {
437 if _, ok := err.(dnode.CallbackNotFoundError); !ok {
438 c.LocalKite.Log.Warning("error processing message err: %s message: %s", err, msg)
439 }
440 }
441
442 switch v := fn.(type) {
443 case *Method: // invoke method
444 if c.Concurrent {
445 go c.runMethod(v, msg.Arguments)
446 } else {
447 c.runMethod(v, msg.Arguments)
448 }
449 case func(*dnode.Partial): // invoke callback
450 if c.Concurrent && c.ConcurrentCallbacks {
451 go c.runCallback(v, msg.Arguments)
452 } else {
453 c.runCallback(v, msg.Arguments)
454 }
455 }
456 }
457}
458
459// receiveData reads a message from session.
460func (c *Client) receiveData() ([]byte, error) {

Callers 2

sockjsHandlerMethod · 0.95
runMethod · 0.95

Calls 6

receiveDataMethod · 0.95
processMessageMethod · 0.95
runMethodMethod · 0.95
runCallbackMethod · 0.95
DebugMethod · 0.80
WarningMethod · 0.80

Tested by

no test coverage detected