MCPcopy
hub / github.com/IBM/sarama / NewMockBrokerAddr

Function NewMockBrokerAddr

mockbroker.go:412–437  ·  view source on GitHub ↗

NewMockBrokerAddr behaves like newMockBroker but listens on the address you give it rather than just some ephemeral port.

(t TestReporter, brokerID int32, addr string)

Source from the content-addressed store, hash-verified

410// NewMockBrokerAddr behaves like newMockBroker but listens on the address you give
411// it rather than just some ephemeral port.
412func NewMockBrokerAddr(t TestReporter, brokerID int32, addr string) *MockBroker {
413 var (
414 listener net.Listener
415 err error
416 )
417
418 // retry up to 20 times if address already in use (e.g., if replacing broker which hasn't cleanly shutdown)
419 for range 20 {
420 listener, err = net.Listen("tcp", addr)
421 if err != nil {
422 if errors.Is(err, syscall.EADDRINUSE) {
423 Logger.Printf("*** mockbroker/%d waiting for %s (address already in use)", brokerID, addr)
424 time.Sleep(time.Millisecond * 100)
425 continue
426 }
427 t.Fatal(err)
428 }
429 break
430 }
431
432 if err != nil {
433 t.Fatal(err)
434 }
435
436 return NewMockBrokerListener(t, brokerID, listener)
437}
438
439// NewMockBrokerListener behaves like newMockBrokerAddr but accepts connections on the listener specified.
440func NewMockBrokerListener(t TestReporter, brokerID int32, listener net.Listener) *MockBroker {

Calls 4

NewMockBrokerListenerFunction · 0.85
IsMethod · 0.80
FatalMethod · 0.80
PrintfMethod · 0.65