func runClient2(hyperbahnService string, addr net.Addr) error { tchan, err := tchannel.NewChannel("client2", optsFor("client2")) if err != nil { return err } tchan.Peers().Add(addr.String()) tclient := thrift.NewClient(tchan, hyperbahnService, nil) client := gen.NewTChanSecondClient(tclient) go func() { for { ctx, cancel := thrift.NewContext(time.Second) client.Test(ctx) cancel() time.Sleep(100 * time.Millisecond) } }() return nil }
func withSetup(t *testing.T, f func(ctx thrift.Context, args testArgs)) { args := testArgs{ s: new(mocks.TChanTCollector), } ctx, cancel := thrift.NewContext(time.Second * 10) defer cancel() // Start server tchan, listener, err := setupServer(args.s) require.NoError(t, err) defer tchan.Close() // Get client1 args.c, err = getClient(listener.Addr().String()) require.NoError(t, err) f(ctx, args) args.s.AssertExpectations(t) }
func runClient1(hyperbahnService string, addr net.Addr) error { tchan, err := tchannel.NewChannel("client1", optsFor("client1")) if err != nil { return err } tchan.Peers().Add(addr.String()) tclient := thrift.NewClient(tchan, hyperbahnService, nil) client := gen.NewTChanFirstClient(tclient) go func() { for { ctx, cancel := thrift.NewContext(time.Second) res, err := client.Echo(ctx, "Hi") log.Println("Echo(Hi) = ", res, ", err: ", err) log.Println("AppError = ", client.AppError(ctx)) cancel() time.Sleep(100 * time.Millisecond) } }() return nil }
func createContext() (thrift.Context, func()) { ctx, cancel := thrift.NewContext(time.Second) ctx = thrift.WithHeaders(ctx, map[string]string{"user": curUser}) return ctx, cancel }