feat: add support for system resolver in measurexlite (#858)
* feat: add support for system resolver in measurexlite * more tests for coverage * Apply suggestions from code review Co-authored-by: decfox <decfox@github.com> Co-authored-by: Simone Basso <bassosimone@gmail.com>
This commit is contained in:
parent
fc51590a67
commit
fbd7cd2b7e
4 changed files with 163 additions and 2 deletions
|
|
@ -38,6 +38,10 @@ type Trace struct {
|
|||
// this channel manually, ensure it has some buffer.
|
||||
NetworkEvent chan *model.ArchivalNetworkEvent
|
||||
|
||||
// NewStdlibResolverFn is OPTIONAL and can be used to overide
|
||||
// calls to the netxlite.NewStdlibResolver factory.
|
||||
NewStdlibResolverFn func(logger model.Logger) model.Resolver
|
||||
|
||||
// NewParallelUDPResolverFn is OPTIONAL and can be used to overide
|
||||
// calls to the netxlite.NewParallelUDPResolver factory.
|
||||
NewParallelUDPResolverFn func(logger model.Logger, dialer model.Dialer, address string) model.Resolver
|
||||
|
|
@ -129,6 +133,15 @@ func NewTrace(index int64, zeroTime time.Time) *Trace {
|
|||
}
|
||||
}
|
||||
|
||||
// newStdlibResolver indirectly calls the passed netxlite.NewStdlibResolver
|
||||
// thus allowing us to mock this function for testing
|
||||
func (tx *Trace) newStdlibResolver(logger model.Logger) model.Resolver {
|
||||
if tx.NewStdlibResolverFn != nil {
|
||||
return tx.NewStdlibResolverFn(logger)
|
||||
}
|
||||
return netxlite.NewStdlibResolver(logger)
|
||||
}
|
||||
|
||||
// newParallelUDPResolver indirectly calls the passed netxlite.NewParallerUDPResolver
|
||||
// thus allowing us to mock this function for testing
|
||||
func (tx *Trace) newParallelUDPResolver(logger model.Logger, dialer model.Dialer, address string) model.Resolver {
|
||||
|
|
|
|||
Loading…
Reference in a new issue