func getSocket(g *libkb.GlobalContext, clearError bool) (xp rpc.Transporter, err error) { var isNew bool _, xp, isNew, err = g.GetSocket(clearError) if err == nil && isNew { introduceMyself(g, xp) } return xp, err }
func GetRPCServer(g *libkb.GlobalContext) (ret *rpc.Server, xp rpc.Transporter, err error) { if _, xp, err = g.GetSocket(false); err == nil { ret = rpc.NewServer(xp, libkb.WrapError) } if err != nil { DiagnoseSocketError(g.UI, err) } return }
func pingLoop(g *libkb.GlobalContext) error { var err error for i := 0; i < 10; i++ { _, _, err = g.GetSocket(true) if err == nil { g.Log.Debug("Connected (%d)", i) return nil } g.Log.Debug("Failed to connect to socket (%d): %s", i, err) err = nil time.Sleep(200 * time.Millisecond) } return nil }
func GetRPCClientWithContext(g *libkb.GlobalContext) (ret *rpc.Client, xp rpc.Transporter, err error) { if _, xp, err = g.GetSocket(false); err == nil { ret = rpc.NewClient(xp, libkb.ErrorUnwrapper{}) } return }