Versions in this module Expand all Collapse all v0 v0.30.0 Nov 26, 2024 v0.29.0 May 20, 2024 v0.28.0 Mar 26, 2024 v0.27.0 Dec 13, 2023 Changes in this version + func Start(ctx context.Context, rtx Runtime, stages ...Stage) + func Wait(channels ...<-chan Done) + type Closer interface + Close func(logger model.Logger) error + type DNSLookupUDPStage struct + Domain string + Output chan<- string + Resolver string + Tags []string + func (sx *DNSLookupUDPStage) Run(ctx context.Context, rtx Runtime) + type DedupAddrsStage struct + Inputs []<-chan string + Output chan<- string + func (sx *DedupAddrsStage) Run(ctx context.Context, rtx Runtime) + type Done struct + type DropStage struct + Input <-chan T + Output chan Done + func (sx *DropStage[T]) Run(ctx context.Context, rtx Runtime) + type GetaddrinfoStage struct + Domain string + Output chan<- string + Tags []string + func (sx *GetaddrinfoStage) Run(ctx context.Context, rtx Runtime) + type HTTPConnection interface + AsSingleUseTransport func(logger model.Logger) model.HTTPTransport + Network func() string + RemoteAddress func() string + Scheme func() string + TLSNegotiatedProtocol func() string + Trace func() Trace + type HTTPRoundTripStage struct + Accept string + AcceptLanguage string + Host string + Input <-chan T + MaxBodySnapshotSize int64 + Method string + Output chan<- Done + Referer string + URLPath string + UserAgent string + func (sx *HTTPRoundTripStage[T]) Run(ctx context.Context, rtx Runtime) + type MakeEndpointsStage struct + Input <-chan string + Output chan<- string + Port string + func (sx *MakeEndpointsStage) Run(ctx context.Context, rtx Runtime) + type Observations struct + NetworkEvents []*model.ArchivalNetworkEvent + QUICHandshakes []*model.ArchivalTLSOrQUICHandshakeResult + Queries []*model.ArchivalDNSLookupResult + Requests []*model.ArchivalHTTPRequestResult + TCPConnect []*model.ArchivalTCPConnectResult + TLSHandshakes []*model.ArchivalTLSOrQUICHandshakeResult + func NewObservations() *Observations + type QUICConnection struct + Conn quic.EarlyConnection + func (c *QUICConnection) AsSingleUseTransport(logger model.Logger) model.HTTPTransport + func (c *QUICConnection) Close(logger model.Logger) error + func (c *QUICConnection) Network() string + func (c *QUICConnection) RemoteAddress() (addr string) + func (c *QUICConnection) Scheme() string + func (c *QUICConnection) TLSNegotiatedProtocol() string + func (c *QUICConnection) Trace() Trace + type QUICHandshakeStage struct + Input <-chan string + InsecureSkipVerify bool + NextProtos []string + Output chan<- *QUICConnection + RootCAs *x509.CertPool + ServerName string + Tags []string + func (sx *QUICHandshakeStage) Run(ctx context.Context, rtx Runtime) + type Runtime interface + ActiveConnections func() *Semaphore + ActiveDNSLookups func() *Semaphore + IDGenerator func() *atomic.Int64 + Logger func() model.Logger + NewTrace func(index int64, zeroTime time.Time, tags ...string) Trace + Observations func() *Observations + SaveObservations func(obs ...*Observations) + ZeroTime func() time.Time + type Semaphore struct + func NewSemaphore(name string, count int) *Semaphore + func (sema *Semaphore) Signal() + func (sema *Semaphore) Wait() + type Stage interface + Run func(ctx context.Context, rtx Runtime) + type TCPConnectStage struct + Input <-chan string + Output chan<- *TCPConnection + Tags []string + func (sx *TCPConnectStage) Run(ctx context.Context, rtx Runtime) + type TCPConnection struct + Conn net.Conn + func (c *TCPConnection) AsSingleUseTransport(logger model.Logger) model.HTTPTransport + func (c *TCPConnection) Close(logger model.Logger) error + func (c *TCPConnection) Network() string + func (c *TCPConnection) RemoteAddress() (addr string) + func (c *TCPConnection) Scheme() string + func (c *TCPConnection) TLSNegotiatedProtocol() string + func (c *TCPConnection) Trace() Trace + type TLSConnection struct + Conn model.TLSConn + func (c *TLSConnection) AsSingleUseTransport(logger model.Logger) model.HTTPTransport + func (c *TLSConnection) Close(logger model.Logger) error + func (c *TLSConnection) Network() string + func (c *TLSConnection) RemoteAddress() (addr string) + func (c *TLSConnection) Scheme() string + func (c *TLSConnection) TLSNegotiatedProtocol() string + func (c *TLSConnection) Trace() Trace + type TLSHandshakeStage struct + Input <-chan *TCPConnection + InsecureSkipVerify bool + NextProtos []string + Output chan<- *TLSConnection + RootCAs *x509.CertPool + ServerName string + func (sx *TLSHandshakeStage) Run(ctx context.Context, rtx Runtime) + type TakeNStage struct + Input <-chan T + N int64 + Output chan<- T + func (sx *TakeNStage[T]) Run(ctx context.Context, rtx Runtime) + type TeeAddrsStage struct + Input <-chan string + Outputs []chan<- string + func (sx *TeeAddrsStage) Run(ctx context.Context, rtx Runtime) + type Trace interface + CloneBytesReceivedMap func() (out map[string]int64) + DNSLookupsFromRoundTrip func() (out []*model.ArchivalDNSLookupResult) + Index func() int64 + NetworkEvents func() (out []*model.ArchivalNetworkEvent) + NewDialerWithoutResolver func(dl model.DebugLogger, wrappers ...model.DialerWrapper) model.Dialer + NewParallelUDPResolver func(logger model.DebugLogger, dialer model.Dialer, address string) model.Resolver + NewQUICDialerWithoutResolver func(listener model.UDPListener, dl model.DebugLogger, ...) model.QUICDialer + NewStdlibResolver func(logger model.DebugLogger) model.Resolver + NewTLSHandshakerStdlib func(dl model.DebugLogger) model.TLSHandshaker + NewUDPListener func() model.UDPListener + QUICHandshakes func() (out []*model.ArchivalTLSOrQUICHandshakeResult) + TCPConnects func() (out []*model.ArchivalTCPConnectResult) + TLSHandshakes func() (out []*model.ArchivalTLSOrQUICHandshakeResult) + Tags func() []string + TimeSince func(t0 time.Time) time.Duration + ZeroTime func() time.Time