@ -92,13 +92,6 @@ func closeLoopUnary() {
|
|||||||
|
|
||||||
func closeLoopStream() {
|
func closeLoopStream() {
|
||||||
s, conn, tc := buildConnection()
|
s, conn, tc := buildConnection()
|
||||||
stream, err := tc.StreamingCall(context.Background())
|
|
||||||
if err != nil {
|
|
||||||
grpclog.Fatalf("%v.StreamingCall(_) = _, %v", tc, err)
|
|
||||||
}
|
|
||||||
for i := 0; i < 100; i++ {
|
|
||||||
streamCaller(tc, stream)
|
|
||||||
}
|
|
||||||
ch := make(chan int, *maxConcurrentRPCs*4)
|
ch := make(chan int, *maxConcurrentRPCs*4)
|
||||||
var (
|
var (
|
||||||
mu sync.Mutex
|
mu sync.Mutex
|
||||||
@ -108,7 +101,15 @@ func closeLoopStream() {
|
|||||||
// Distribute RPCs over maxConcurrentCalls workers.
|
// Distribute RPCs over maxConcurrentCalls workers.
|
||||||
for i := 0; i < *maxConcurrentRPCs; i++ {
|
for i := 0; i < *maxConcurrentRPCs; i++ {
|
||||||
go func() {
|
go func() {
|
||||||
for _ = range ch {
|
stream, err := tc.StreamingCall(context.Background())
|
||||||
|
if err != nil {
|
||||||
|
grpclog.Fatalf("%v.StreamingCall(_) = _, %v", tc, err)
|
||||||
|
}
|
||||||
|
// Do some warm up.
|
||||||
|
for i := 0; i < 100; i++ {
|
||||||
|
streamCaller(tc, stream)
|
||||||
|
}
|
||||||
|
for range ch {
|
||||||
start := time.Now()
|
start := time.Now()
|
||||||
streamCaller(tc, stream)
|
streamCaller(tc, stream)
|
||||||
elapse := time.Since(start)
|
elapse := time.Since(start)
|
||||||
|
Reference in New Issue
Block a user