nested

package
v0.0.0-...-6a88ae7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 16, 2021 License: Apache-2.0, MIT Imports: 4 Imported by: 0

Documentation

Overview

Package nested provides helpers to implement the pattern of nested stack.LinkEndpoints.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Endpoint

type Endpoint struct {
	// contains filtered or unexported fields
}

Endpoint is a wrapper around stack.LinkEndpoint and stack.NetworkDispatcher that can be used to implement nesting safely by providing lifecycle concurrency guards.

See the tests in this package for example usage.

func (*Endpoint) ARPHardwareType

func (e *Endpoint) ARPHardwareType() header.ARPHardwareType

ARPHardwareType implements stack.LinkEndpoint.ARPHardwareType

func (*Endpoint) AddHeader

func (e *Endpoint) AddHeader(local, remote tcpip.LinkAddress, protocol tcpip.NetworkProtocolNumber, pkt *stack.PacketBuffer)

AddHeader implements stack.LinkEndpoint.AddHeader.

func (*Endpoint) Attach

func (e *Endpoint) Attach(dispatcher stack.NetworkDispatcher)

Attach implements stack.LinkEndpoint.

func (*Endpoint) Capabilities

func (e *Endpoint) Capabilities() stack.LinkEndpointCapabilities

Capabilities implements stack.LinkEndpoint.

func (*Endpoint) DeliverNetworkPacket

func (e *Endpoint) DeliverNetworkPacket(remote, local tcpip.LinkAddress, protocol tcpip.NetworkProtocolNumber, pkt *stack.PacketBuffer)

DeliverNetworkPacket implements stack.NetworkDispatcher.

func (*Endpoint) DeliverOutboundPacket

func (e *Endpoint) DeliverOutboundPacket(remote, local tcpip.LinkAddress, protocol tcpip.NetworkProtocolNumber, pkt *stack.PacketBuffer)

DeliverOutboundPacket implements stack.NetworkDispatcher.DeliverOutboundPacket.

func (*Endpoint) GSOMaxSize

func (e *Endpoint) GSOMaxSize() uint32

GSOMaxSize implements stack.GSOEndpoint.

func (*Endpoint) Init

func (e *Endpoint) Init(child stack.LinkEndpoint, embedder stack.NetworkDispatcher)

Init initializes a nested.Endpoint that uses embedder as the dispatcher for child on Attach.

See the tests in this package for example usage.

func (*Endpoint) IsAttached

func (e *Endpoint) IsAttached() bool

IsAttached implements stack.LinkEndpoint.

func (*Endpoint) LinkAddress

func (e *Endpoint) LinkAddress() tcpip.LinkAddress

LinkAddress implements stack.LinkEndpoint.

func (*Endpoint) MTU

func (e *Endpoint) MTU() uint32

MTU implements stack.LinkEndpoint.

func (*Endpoint) MaxHeaderLength

func (e *Endpoint) MaxHeaderLength() uint16

MaxHeaderLength implements stack.LinkEndpoint.

func (*Endpoint) SupportedGSO

func (e *Endpoint) SupportedGSO() stack.SupportedGSO

SupportedGSO implements stack.GSOEndpoint.

func (*Endpoint) Wait

func (e *Endpoint) Wait()

Wait implements stack.LinkEndpoint.

func (*Endpoint) WritePacket

func (e *Endpoint) WritePacket(r stack.RouteInfo, protocol tcpip.NetworkProtocolNumber, pkt *stack.PacketBuffer) tcpip.Error

WritePacket implements stack.LinkEndpoint.

func (*Endpoint) WritePackets

func (e *Endpoint) WritePackets(r stack.RouteInfo, pkts stack.PacketBufferList, protocol tcpip.NetworkProtocolNumber) (int, tcpip.Error)

WritePackets implements stack.LinkEndpoint.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL