mirror of
https://github.com/gortc/stun.git
synced 2025-09-26 20:41:36 +08:00
{agent,client: add NoopHandler
This commit is contained in:
7
agent.go
7
agent.go
@@ -6,8 +6,15 @@ import (
|
||||
"time"
|
||||
)
|
||||
|
||||
// NoopHandler just discards any event.
|
||||
var NoopHandler Handler = func(e Event) {}
|
||||
|
||||
// NewAgent initializes and returns new Agent with provided handler.
|
||||
// If h is nil, the NoopHandler will be used.
|
||||
func NewAgent(h Handler) *Agent {
|
||||
if h == nil {
|
||||
h = NoopHandler
|
||||
}
|
||||
a := &Agent{
|
||||
transactions: make(map[transactionID]agentTransaction),
|
||||
handler: h,
|
||||
|
@@ -56,7 +56,7 @@ func TestAgent_Process(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestAgent_Start(t *testing.T) {
|
||||
a := NewAgent(noopHandler)
|
||||
a := NewAgent(nil)
|
||||
id := NewTransactionID()
|
||||
deadline := time.Now().AddDate(0, 0, 1)
|
||||
if err := a.Start(id, deadline); err != nil {
|
||||
@@ -120,10 +120,8 @@ func TestAgent_Stop(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
var noopHandler = func(e Event) {}
|
||||
|
||||
func TestAgent_GC(t *testing.T) {
|
||||
a := NewAgent(noopHandler)
|
||||
a := NewAgent(nil)
|
||||
shouldTimeOutID := make(map[transactionID]bool)
|
||||
deadline := time.Date(2027, time.November, 21,
|
||||
23, 0, 0, 0,
|
||||
@@ -170,7 +168,7 @@ func TestAgent_GC(t *testing.T) {
|
||||
}
|
||||
|
||||
func BenchmarkAgent_GC(b *testing.B) {
|
||||
a := NewAgent(noopHandler)
|
||||
a := NewAgent(nil)
|
||||
deadline := time.Now().AddDate(0, 0, 1)
|
||||
for i := 0; i < agentCollectCap; i++ {
|
||||
if err := a.Start(NewTransactionID(), deadline); err != nil {
|
||||
@@ -192,7 +190,7 @@ func BenchmarkAgent_GC(b *testing.B) {
|
||||
}
|
||||
|
||||
func BenchmarkAgent_Process(b *testing.B) {
|
||||
a := NewAgent(noopHandler)
|
||||
a := NewAgent(nil)
|
||||
deadline := time.Now().AddDate(0, 0, 1)
|
||||
for i := 0; i < 1000; i++ {
|
||||
if err := a.Start(NewTransactionID(), deadline); err != nil {
|
||||
|
@@ -18,3 +18,4 @@ pkg github.com/gortc/stun, type ClientOptions struct, Clock Clock
|
||||
pkg github.com/gortc/stun, type ClientOptions struct, Collector Collector
|
||||
pkg github.com/gortc/stun, type ClientOptions struct, RTO time.Duration
|
||||
pkg github.com/gortc/stun, func NewAgent(Handler) *Agent
|
||||
pkg github.com/gortc/stun, var NoopHandler Handler
|
||||
|
@@ -380,7 +380,7 @@ func TestClientConnErr(t *testing.T) {
|
||||
if err := c.Do(m, nil); err == nil {
|
||||
t.Error("error expected")
|
||||
}
|
||||
if err := c.Do(m, noopHandler); err == nil {
|
||||
if err := c.Do(m, NoopHandler); err == nil {
|
||||
t.Error("error expected")
|
||||
}
|
||||
}
|
||||
@@ -406,7 +406,7 @@ func TestClientConnErrStopErr(t *testing.T) {
|
||||
}
|
||||
}()
|
||||
m := MustBuild(TransactionID)
|
||||
if err := c.Do(m, noopHandler); err == nil {
|
||||
if err := c.Do(m, NoopHandler); err == nil {
|
||||
t.Error("error expected")
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user