Documentation ¶
Overview ¶
Copyright 2021 Thorben Krüger (thorben.krueger@ovgu.de)
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2021 Thorben Krüger (thorben.krueger@ovgu.de)
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2021 Thorben Krüger (thorben.krueger@ovgu.de)
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2021 Thorben Krüger (thorben.krueger@ovgu.de)
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2021 Thorben Krüger (thorben.krueger@ovgu.de)
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Index ¶
- Variables
- func NewConnectionTracerClient(client *Client, id uint64, p logging.Perspective, odcid logging.ConnectionID) logging.ConnectionTracer
- func NewServer(selector ServerSelector, tracer logging.Tracer, ...) (*rpc.Server, error)
- func NewTracerClient(client *Client) logging.Tracer
- type Client
- type ConnectionTracerClient
- func (c *ConnectionTracerClient) AcknowledgedPacket(level logging.EncryptionLevel, pnum logging.PacketNumber)
- func (c *ConnectionTracerClient) BufferedPacket(ptype logging.PacketType)
- func (c *ConnectionTracerClient) Close()
- func (c *ConnectionTracerClient) ClosedConnection(e error)
- func (c *ConnectionTracerClient) Debug(name, msg string)
- func (c *ConnectionTracerClient) DroppedEncryptionLevel(level logging.EncryptionLevel)
- func (c *ConnectionTracerClient) DroppedKey(generation logging.KeyPhase)
- func (c *ConnectionTracerClient) DroppedPacket(ptype logging.PacketType, size logging.ByteCount, ...)
- func (c *ConnectionTracerClient) LossTimerCanceled()
- func (c *ConnectionTracerClient) LossTimerExpired(ttype logging.TimerType, level logging.EncryptionLevel)
- func (c *ConnectionTracerClient) LostPacket(level logging.EncryptionLevel, pnum logging.PacketNumber, ...)
- func (c *ConnectionTracerClient) NegotiatedVersion(chosen logging.VersionNumber, ...)
- func (c *ConnectionTracerClient) ReceivedPacket(hdr *logging.ExtendedHeader, size logging.ByteCount, frames []logging.Frame)
- func (c *ConnectionTracerClient) ReceivedRetry(hdr *logging.Header)
- func (c *ConnectionTracerClient) ReceivedTransportParameters(parameters *logging.TransportParameters)
- func (c *ConnectionTracerClient) ReceivedVersionNegotiationPacket(hdr *logging.Header, versions []logging.VersionNumber)
- func (c *ConnectionTracerClient) RestoredTransportParameters(parameters *logging.TransportParameters)
- func (c *ConnectionTracerClient) SentPacket(hdr *logging.ExtendedHeader, size logging.ByteCount, ack *logging.AckFrame, ...)
- func (c *ConnectionTracerClient) SentTransportParameters(parameters *logging.TransportParameters)
- func (c *ConnectionTracerClient) SetLossTimer(ttype logging.TimerType, level logging.EncryptionLevel, t time.Time)
- func (c *ConnectionTracerClient) StartedConnection(local, remote net.Addr, srcConnID, destConnID logging.ConnectionID)
- func (c *ConnectionTracerClient) UpdatedCongestionState(state logging.CongestionState)
- func (c *ConnectionTracerClient) UpdatedKey(generation logging.KeyPhase, remote bool)
- func (c *ConnectionTracerClient) UpdatedKeyFromTLS(level logging.EncryptionLevel, p logging.Perspective)
- func (c *ConnectionTracerClient) UpdatedMetrics(rttStats *logging.RTTStats, cwnd, bytesInFlight logging.ByteCount, ...)
- func (c *ConnectionTracerClient) UpdatedPTOCount(value uint32)
- type ConnectionTracerMsg
- type ConnectionTracerServer
- func (c *ConnectionTracerServer) AcknowledgedPacket(args *ConnectionTracerMsg, resp *NilMsg) error
- func (c *ConnectionTracerServer) BufferedPacket(args *ConnectionTracerMsg, resp *NilMsg) error
- func (c *ConnectionTracerServer) Close(args *ConnectionTracerMsg, resp *NilMsg) error
- func (c *ConnectionTracerServer) ClosedConnection(args *ConnectionTracerMsg, resp *NilMsg) error
- func (c *ConnectionTracerServer) Debug(args *ConnectionTracerMsg, resp *NilMsg) error
- func (c *ConnectionTracerServer) DroppedEncryptionLevel(args *ConnectionTracerMsg, resp *NilMsg) error
- func (c *ConnectionTracerServer) DroppedKey(args *ConnectionTracerMsg, resp *NilMsg) error
- func (c *ConnectionTracerServer) DroppedPacket(args *ConnectionTracerMsg, resp *NilMsg) error
- func (c *ConnectionTracerServer) LossTimerCanceled(args *ConnectionTracerMsg, resp *NilMsg) error
- func (c *ConnectionTracerServer) LossTimerExpired(args *ConnectionTracerMsg, resp *NilMsg) error
- func (c *ConnectionTracerServer) LostPacket(args *ConnectionTracerMsg, resp *NilMsg) error
- func (c *ConnectionTracerServer) NegotiatedVersion(args *ConnectionTracerMsg, resp *NilMsg) error
- func (c *ConnectionTracerServer) NewTracerForConnection(args *ConnectionTracerMsg, resp *NilMsg) error
- func (c *ConnectionTracerServer) ReceivedPacket(args *ConnectionTracerMsg, resp *NilMsg) error
- func (c *ConnectionTracerServer) ReceivedRetry(args *ConnectionTracerMsg, resp *NilMsg) error
- func (c *ConnectionTracerServer) ReceivedTransportParameters(args *ConnectionTracerMsg, resp *NilMsg) error
- func (c *ConnectionTracerServer) ReceivedVersionNegotiationPacket(args *ConnectionTracerMsg, resp *NilMsg) error
- func (c *ConnectionTracerServer) RestoredTransportParameters(args *ConnectionTracerMsg, resp *NilMsg) error
- func (c *ConnectionTracerServer) SentPacket(args *ConnectionTracerMsg, resp *NilMsg) error
- func (c *ConnectionTracerServer) SentTransportParameters(args *ConnectionTracerMsg, resp *NilMsg) error
- func (c *ConnectionTracerServer) SetLossTimer(args *ConnectionTracerMsg, resp *NilMsg) error
- func (c *ConnectionTracerServer) StartedConnection(args *ConnectionTracerMsg, resp *NilMsg) error
- func (c *ConnectionTracerServer) UpdatedCongestionState(args *ConnectionTracerMsg, resp *NilMsg) error
- func (c *ConnectionTracerServer) UpdatedKey(args *ConnectionTracerMsg, resp *NilMsg) error
- func (c *ConnectionTracerServer) UpdatedKeyFromTLS(args *ConnectionTracerMsg, resp *NilMsg) error
- func (c *ConnectionTracerServer) UpdatedMetrics(args *ConnectionTracerMsg, resp *NilMsg) error
- func (c *ConnectionTracerServer) UpdatedPTOCount(args *ConnectionTracerMsg, resp *NilMsg) error
- type IDMsg
- type IDServer
- type NilMsg
- type Path
- type RTTStats
- type SelectorClient
- type SelectorMsg
- type SelectorServer
- func (s *SelectorServer) Close(args, resp *SelectorMsg) error
- func (s *SelectorServer) Initialize(args, resp *SelectorMsg) error
- func (s *SelectorServer) Path(args, resp *SelectorMsg) error
- func (s *SelectorServer) PathDown(args, resp *SelectorMsg) error
- func (s *SelectorServer) Refresh(args, resp *SelectorMsg) error
- type ServerConnectionTracer
- type ServerSelector
- type TracerClient
- func (c TracerClient) DroppedPacket(addr net.Addr, tp logging.PacketType, n logging.ByteCount, ...)
- func (c TracerClient) SentPacket(addr net.Addr, hdr *logging.Header, n logging.ByteCount, fs []logging.Frame)
- func (c TracerClient) TracerForConnection(ctx context.Context, p logging.Perspective, odcid logging.ConnectionID) logging.ConnectionTracer
- type TracerMsg
- type TracerServer
Constants ¶
This section is empty.
Variables ¶
var ( DefaultDaemonAddress = &net.UnixAddr{ Name: "/tmp/panapid.sock", Net: "unix", } ErrDeref = errors.New("Can not dereference Nil value") )
Functions ¶
func NewConnectionTracerClient ¶ added in v0.2.0
func NewConnectionTracerClient(client *Client, id uint64, p logging.Perspective, odcid logging.ConnectionID) logging.ConnectionTracer
func NewServer ¶ added in v0.2.0
func NewServer(selector ServerSelector, tracer logging.Tracer, connectionTracer ServerConnectionTracer) (*rpc.Server, error)
func NewTracerClient ¶ added in v0.2.0
Types ¶
type Client ¶ added in v0.2.0
type Client struct {
// contains filtered or unexported fields
}
type ConnectionTracerClient ¶ added in v0.2.0
type ConnectionTracerClient struct {
// contains filtered or unexported fields
}
func (*ConnectionTracerClient) AcknowledgedPacket ¶ added in v0.2.0
func (c *ConnectionTracerClient) AcknowledgedPacket(level logging.EncryptionLevel, pnum logging.PacketNumber)
func (*ConnectionTracerClient) BufferedPacket ¶ added in v0.2.0
func (c *ConnectionTracerClient) BufferedPacket(ptype logging.PacketType)
func (*ConnectionTracerClient) Close ¶ added in v0.2.0
func (c *ConnectionTracerClient) Close()
func (*ConnectionTracerClient) ClosedConnection ¶ added in v0.2.0
func (c *ConnectionTracerClient) ClosedConnection(e error)
func (*ConnectionTracerClient) Debug ¶ added in v0.2.0
func (c *ConnectionTracerClient) Debug(name, msg string)
func (*ConnectionTracerClient) DroppedEncryptionLevel ¶ added in v0.2.0
func (c *ConnectionTracerClient) DroppedEncryptionLevel(level logging.EncryptionLevel)
func (*ConnectionTracerClient) DroppedKey ¶ added in v0.2.0
func (c *ConnectionTracerClient) DroppedKey(generation logging.KeyPhase)
func (*ConnectionTracerClient) DroppedPacket ¶ added in v0.2.0
func (c *ConnectionTracerClient) DroppedPacket(ptype logging.PacketType, size logging.ByteCount, reason logging.PacketDropReason)
func (*ConnectionTracerClient) LossTimerCanceled ¶ added in v0.2.0
func (c *ConnectionTracerClient) LossTimerCanceled()
func (*ConnectionTracerClient) LossTimerExpired ¶ added in v0.2.0
func (c *ConnectionTracerClient) LossTimerExpired(ttype logging.TimerType, level logging.EncryptionLevel)
func (*ConnectionTracerClient) LostPacket ¶ added in v0.2.0
func (c *ConnectionTracerClient) LostPacket(level logging.EncryptionLevel, pnum logging.PacketNumber, reason logging.PacketLossReason)
func (*ConnectionTracerClient) NegotiatedVersion ¶ added in v0.2.0
func (c *ConnectionTracerClient) NegotiatedVersion(chosen logging.VersionNumber, clientVersions, serverVersions []logging.VersionNumber)
func (*ConnectionTracerClient) ReceivedPacket ¶ added in v0.2.0
func (c *ConnectionTracerClient) ReceivedPacket(hdr *logging.ExtendedHeader, size logging.ByteCount, frames []logging.Frame)
func (*ConnectionTracerClient) ReceivedRetry ¶ added in v0.2.0
func (c *ConnectionTracerClient) ReceivedRetry(hdr *logging.Header)
func (*ConnectionTracerClient) ReceivedTransportParameters ¶ added in v0.2.0
func (c *ConnectionTracerClient) ReceivedTransportParameters(parameters *logging.TransportParameters)
func (*ConnectionTracerClient) ReceivedVersionNegotiationPacket ¶ added in v0.2.0
func (c *ConnectionTracerClient) ReceivedVersionNegotiationPacket(hdr *logging.Header, versions []logging.VersionNumber)
func (*ConnectionTracerClient) RestoredTransportParameters ¶ added in v0.2.0
func (c *ConnectionTracerClient) RestoredTransportParameters(parameters *logging.TransportParameters)
func (*ConnectionTracerClient) SentPacket ¶ added in v0.2.0
func (c *ConnectionTracerClient) SentPacket(hdr *logging.ExtendedHeader, size logging.ByteCount, ack *logging.AckFrame, frames []logging.Frame)
func (*ConnectionTracerClient) SentTransportParameters ¶ added in v0.2.0
func (c *ConnectionTracerClient) SentTransportParameters(parameters *logging.TransportParameters)
func (*ConnectionTracerClient) SetLossTimer ¶ added in v0.2.0
func (c *ConnectionTracerClient) SetLossTimer(ttype logging.TimerType, level logging.EncryptionLevel, t time.Time)
func (*ConnectionTracerClient) StartedConnection ¶ added in v0.2.0
func (c *ConnectionTracerClient) StartedConnection(local, remote net.Addr, srcConnID, destConnID logging.ConnectionID)
func (*ConnectionTracerClient) UpdatedCongestionState ¶ added in v0.2.0
func (c *ConnectionTracerClient) UpdatedCongestionState(state logging.CongestionState)
func (*ConnectionTracerClient) UpdatedKey ¶ added in v0.2.0
func (c *ConnectionTracerClient) UpdatedKey(generation logging.KeyPhase, remote bool)
func (*ConnectionTracerClient) UpdatedKeyFromTLS ¶ added in v0.2.0
func (c *ConnectionTracerClient) UpdatedKeyFromTLS(level logging.EncryptionLevel, p logging.Perspective)
func (*ConnectionTracerClient) UpdatedMetrics ¶ added in v0.2.0
func (*ConnectionTracerClient) UpdatedPTOCount ¶ added in v0.2.0
func (c *ConnectionTracerClient) UpdatedPTOCount(value uint32)
type ConnectionTracerMsg ¶ added in v0.2.0
type ConnectionTracerMsg struct {
Local, Remote *pan.UDPAddr
OdcID, SrcConnID, DestConnID *logging.ConnectionID
Chosen logging.VersionNumber
Versions, ClientVersions, ServerVersions []logging.VersionNumber
ErrorMsg, Key, Value *string
Parameters *logging.TransportParameters
ByteCount, Cwnd logging.ByteCount
Packets, ID int
Header *logging.Header
ExtendedHeader *logging.ExtendedHeader
Frames []logging.Frame
AckFrame *logging.AckFrame
PacketType logging.PacketType
DropReason logging.PacketDropReason
LossReason logging.PacketLossReason
EncryptionLevel logging.EncryptionLevel
PacketNumber logging.PacketNumber
CongestionState logging.CongestionState
PTOCount uint32
TracingID uint64
Perspective logging.Perspective
Bool bool
Generation logging.KeyPhase
TimerType logging.TimerType
Time *time.Time
RTTStats *RTTStats
}
func (*ConnectionTracerMsg) String ¶ added in v0.2.0
func (m *ConnectionTracerMsg) String() string
type ConnectionTracerServer ¶ added in v0.2.0
type ConnectionTracerServer struct {
// contains filtered or unexported fields
}
func NewConnectionTracerServer ¶ added in v0.2.0
func NewConnectionTracerServer(ct ServerConnectionTracer) *ConnectionTracerServer
func (*ConnectionTracerServer) AcknowledgedPacket ¶ added in v0.2.0
func (c *ConnectionTracerServer) AcknowledgedPacket(args *ConnectionTracerMsg, resp *NilMsg) error
func (*ConnectionTracerServer) BufferedPacket ¶ added in v0.2.0
func (c *ConnectionTracerServer) BufferedPacket(args *ConnectionTracerMsg, resp *NilMsg) error
func (*ConnectionTracerServer) Close ¶ added in v0.2.0
func (c *ConnectionTracerServer) Close(args *ConnectionTracerMsg, resp *NilMsg) error
func (*ConnectionTracerServer) ClosedConnection ¶ added in v0.2.0
func (c *ConnectionTracerServer) ClosedConnection(args *ConnectionTracerMsg, resp *NilMsg) error
func (*ConnectionTracerServer) Debug ¶ added in v0.2.0
func (c *ConnectionTracerServer) Debug(args *ConnectionTracerMsg, resp *NilMsg) error
func (*ConnectionTracerServer) DroppedEncryptionLevel ¶ added in v0.2.0
func (c *ConnectionTracerServer) DroppedEncryptionLevel(args *ConnectionTracerMsg, resp *NilMsg) error
func (*ConnectionTracerServer) DroppedKey ¶ added in v0.2.0
func (c *ConnectionTracerServer) DroppedKey(args *ConnectionTracerMsg, resp *NilMsg) error
func (*ConnectionTracerServer) DroppedPacket ¶ added in v0.2.0
func (c *ConnectionTracerServer) DroppedPacket(args *ConnectionTracerMsg, resp *NilMsg) error
func (*ConnectionTracerServer) LossTimerCanceled ¶ added in v0.2.0
func (c *ConnectionTracerServer) LossTimerCanceled(args *ConnectionTracerMsg, resp *NilMsg) error
func (*ConnectionTracerServer) LossTimerExpired ¶ added in v0.2.0
func (c *ConnectionTracerServer) LossTimerExpired(args *ConnectionTracerMsg, resp *NilMsg) error
func (*ConnectionTracerServer) LostPacket ¶ added in v0.2.0
func (c *ConnectionTracerServer) LostPacket(args *ConnectionTracerMsg, resp *NilMsg) error
func (*ConnectionTracerServer) NegotiatedVersion ¶ added in v0.2.0
func (c *ConnectionTracerServer) NegotiatedVersion(args *ConnectionTracerMsg, resp *NilMsg) error
func (*ConnectionTracerServer) NewTracerForConnection ¶ added in v0.2.0
func (c *ConnectionTracerServer) NewTracerForConnection(args *ConnectionTracerMsg, resp *NilMsg) error
func (*ConnectionTracerServer) ReceivedPacket ¶ added in v0.2.0
func (c *ConnectionTracerServer) ReceivedPacket(args *ConnectionTracerMsg, resp *NilMsg) error
func (*ConnectionTracerServer) ReceivedRetry ¶ added in v0.2.0
func (c *ConnectionTracerServer) ReceivedRetry(args *ConnectionTracerMsg, resp *NilMsg) error
func (*ConnectionTracerServer) ReceivedTransportParameters ¶ added in v0.2.0
func (c *ConnectionTracerServer) ReceivedTransportParameters(args *ConnectionTracerMsg, resp *NilMsg) error
func (*ConnectionTracerServer) ReceivedVersionNegotiationPacket ¶ added in v0.2.0
func (c *ConnectionTracerServer) ReceivedVersionNegotiationPacket(args *ConnectionTracerMsg, resp *NilMsg) error
func (*ConnectionTracerServer) RestoredTransportParameters ¶ added in v0.2.0
func (c *ConnectionTracerServer) RestoredTransportParameters(args *ConnectionTracerMsg, resp *NilMsg) error
func (*ConnectionTracerServer) SentPacket ¶ added in v0.2.0
func (c *ConnectionTracerServer) SentPacket(args *ConnectionTracerMsg, resp *NilMsg) error
func (*ConnectionTracerServer) SentTransportParameters ¶ added in v0.2.0
func (c *ConnectionTracerServer) SentTransportParameters(args *ConnectionTracerMsg, resp *NilMsg) error
func (*ConnectionTracerServer) SetLossTimer ¶ added in v0.2.0
func (c *ConnectionTracerServer) SetLossTimer(args *ConnectionTracerMsg, resp *NilMsg) error
func (*ConnectionTracerServer) StartedConnection ¶ added in v0.2.0
func (c *ConnectionTracerServer) StartedConnection(args *ConnectionTracerMsg, resp *NilMsg) error
func (*ConnectionTracerServer) UpdatedCongestionState ¶ added in v0.2.0
func (c *ConnectionTracerServer) UpdatedCongestionState(args *ConnectionTracerMsg, resp *NilMsg) error
func (*ConnectionTracerServer) UpdatedKey ¶ added in v0.2.0
func (c *ConnectionTracerServer) UpdatedKey(args *ConnectionTracerMsg, resp *NilMsg) error
func (*ConnectionTracerServer) UpdatedKeyFromTLS ¶ added in v0.2.0
func (c *ConnectionTracerServer) UpdatedKeyFromTLS(args *ConnectionTracerMsg, resp *NilMsg) error
func (*ConnectionTracerServer) UpdatedMetrics ¶ added in v0.2.0
func (c *ConnectionTracerServer) UpdatedMetrics(args *ConnectionTracerMsg, resp *NilMsg) error
func (*ConnectionTracerServer) UpdatedPTOCount ¶ added in v0.2.0
func (c *ConnectionTracerServer) UpdatedPTOCount(args *ConnectionTracerMsg, resp *NilMsg) error
type Path ¶
type Path struct { Source pan.IA Destination pan.IA Metadata *pan.PathMetadata Fingerprint pan.PathFingerprint //ForwardingPath pan.ForwardingPath Expiry time.Time }
func NewPathFrom ¶
type RTTStats ¶ added in v0.2.0
type RTTStats struct {
LatestRTT, MaxAckDelay, MeanDeviation, MinRTT, PTO, SmoothedRTT time.Duration
}
func NewRTTStats ¶ added in v0.2.0
type SelectorClient ¶
type SelectorClient struct {
// contains filtered or unexported fields
}
func NewSelectorClient ¶
func NewSelectorClient(client *Client) *SelectorClient
func (*SelectorClient) Close ¶
func (s *SelectorClient) Close() error
func (*SelectorClient) Initialize ¶
func (s *SelectorClient) Initialize(local, remote pan.UDPAddr, paths []*pan.Path)
func (*SelectorClient) Path ¶
func (s *SelectorClient) Path() *pan.Path
func (*SelectorClient) PathDown ¶
func (s *SelectorClient) PathDown(fp pan.PathFingerprint, pi pan.PathInterface)
func (*SelectorClient) Refresh ¶
func (s *SelectorClient) Refresh(paths []*pan.Path)
type SelectorMsg ¶ added in v0.2.0
type SelectorMsg struct { Local *pan.UDPAddr Remote *pan.UDPAddr Fingerprint *pan.PathFingerprint PathInterface *pan.PathInterface Paths []*Path }
type SelectorServer ¶
type SelectorServer struct {
// contains filtered or unexported fields
}
func NewSelectorServer ¶
func NewSelectorServer(selector ServerSelector) *SelectorServer
func (*SelectorServer) Close ¶
func (s *SelectorServer) Close(args, resp *SelectorMsg) error
func (*SelectorServer) Initialize ¶
func (s *SelectorServer) Initialize(args, resp *SelectorMsg) error
func (*SelectorServer) Path ¶
func (s *SelectorServer) Path(args, resp *SelectorMsg) error
func (*SelectorServer) PathDown ¶
func (s *SelectorServer) PathDown(args, resp *SelectorMsg) error
func (*SelectorServer) Refresh ¶
func (s *SelectorServer) Refresh(args, resp *SelectorMsg) error
type ServerConnectionTracer ¶ added in v0.2.0
type ServerConnectionTracer interface { TracerForConnection(id uint64, p logging.Perspective, odcid logging.ConnectionID) error StartedConnection(local, remote *pan.UDPAddr, srcConnID, destConnID logging.ConnectionID) error NegotiatedVersion(local, remote *pan.UDPAddr, chosen logging.VersionNumber, clientVersions, serverVersions []logging.VersionNumber) error ClosedConnection(local, remote *pan.UDPAddr, err error) error SentTransportParameters(*pan.UDPAddr, *pan.UDPAddr, *logging.TransportParameters) error ReceivedTransportParameters(*pan.UDPAddr, *pan.UDPAddr, *logging.TransportParameters) error RestoredTransportParameters(local, remote *pan.UDPAddr, parameters *logging.TransportParameters) error SentPacket(local, remote *pan.UDPAddr, hdr *logging.ExtendedHeader, size logging.ByteCount, ack *logging.AckFrame, frames []logging.Frame) error ReceivedVersionNegotiationPacket(*pan.UDPAddr, *pan.UDPAddr, *logging.Header, []logging.VersionNumber) error ReceivedRetry(*pan.UDPAddr, *pan.UDPAddr, *logging.Header) error ReceivedPacket(local, remote *pan.UDPAddr, hdr *logging.ExtendedHeader, size logging.ByteCount, frames []logging.Frame) error BufferedPacket(*pan.UDPAddr, *pan.UDPAddr, logging.PacketType) error DroppedPacket(*pan.UDPAddr, *pan.UDPAddr, logging.PacketType, logging.ByteCount, logging.PacketDropReason) error UpdatedMetrics(local, remote *pan.UDPAddr, rttStats *RTTStats, cwnd, bytesInFlight logging.ByteCount, packetsInFlight int) error AcknowledgedPacket(*pan.UDPAddr, *pan.UDPAddr, logging.EncryptionLevel, logging.PacketNumber) error LostPacket(*pan.UDPAddr, *pan.UDPAddr, logging.EncryptionLevel, logging.PacketNumber, logging.PacketLossReason) error UpdatedCongestionState(*pan.UDPAddr, *pan.UDPAddr, logging.CongestionState) error UpdatedPTOCount(local, remote *pan.UDPAddr, value uint32) error UpdatedKeyFromTLS(*pan.UDPAddr, *pan.UDPAddr, logging.EncryptionLevel, logging.Perspective) error UpdatedKey(local, remote *pan.UDPAddr, generation logging.KeyPhase, rem bool) error DroppedEncryptionLevel(*pan.UDPAddr, *pan.UDPAddr, logging.EncryptionLevel) error DroppedKey(local, remote *pan.UDPAddr, generation logging.KeyPhase) error SetLossTimer(*pan.UDPAddr, *pan.UDPAddr, logging.TimerType, logging.EncryptionLevel, time.Time) error LossTimerExpired(*pan.UDPAddr, *pan.UDPAddr, logging.TimerType, logging.EncryptionLevel) error LossTimerCanceled(local, remote *pan.UDPAddr) error Close(local, remote *pan.UDPAddr) error Debug(local, remote *pan.UDPAddr, name, msg string) error }
type ServerSelector ¶
type ServerSelector interface { Initialize(pan.UDPAddr, pan.UDPAddr, []*pan.Path) error Path(pan.UDPAddr, pan.UDPAddr) (*pan.Path, error) PathDown(pan.UDPAddr, pan.UDPAddr, pan.PathFingerprint, pan.PathInterface) error Refresh(pan.UDPAddr, pan.UDPAddr, []*pan.Path) error Close(pan.UDPAddr, pan.UDPAddr) error }
func NewServerSelectorFunc ¶
type TracerClient ¶ added in v0.2.0
type TracerClient struct {
// contains filtered or unexported fields
}
func (TracerClient) DroppedPacket ¶ added in v0.2.0
func (c TracerClient) DroppedPacket(addr net.Addr, tp logging.PacketType, n logging.ByteCount, r logging.PacketDropReason)
func (TracerClient) SentPacket ¶ added in v0.2.0
func (TracerClient) TracerForConnection ¶ added in v0.2.0
func (c TracerClient) TracerForConnection(ctx context.Context, p logging.Perspective, odcid logging.ConnectionID) logging.ConnectionTracer
type TracerMsg ¶ added in v0.2.0
type TracerMsg struct { //Context context.Context ID *int TracingID *uint64 Perspective *logging.Perspective ConnectionID *logging.ConnectionID Addr net.Addr Header *logging.Header ByteCount *logging.ByteCount Frames []logging.Frame PacketType *logging.PacketType DropReason *logging.PacketDropReason }
type TracerServer ¶ added in v0.2.0
type TracerServer struct {
// contains filtered or unexported fields
}
func NewTracerServer ¶ added in v0.2.0
func NewTracerServer(tracer logging.Tracer) *TracerServer
func (*TracerServer) DroppedPacket ¶ added in v0.2.0
func (s *TracerServer) DroppedPacket(args, resp *TracerMsg) error
func (*TracerServer) SentPacket ¶ added in v0.2.0
func (s *TracerServer) SentPacket(args, resp *TracerMsg) error