face

package
v0.0.0-...-d9b08a0 Latest Latest
Warning

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

Go to latest
Published: May 28, 2021 License: MIT Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var EthernetMulticastAddress string

EthernetMulticastAddress is the standard multicast Ethernet URI for NDN.

View Source
var UDPMulticastPort uint16

UDPMulticastPort is the standard multicast UDP port for NDN.

View Source
var UDPUnicastPort uint16

UDPUnicastPort is the standard unicast UDP port for NDN.

View Source
var UnixSocketPath string

UnixSocketPath is the standard Unix socket file path for NDN.

Functions

func Configure

func Configure()

Configure configures the face system.

func InterfaceByIP

func InterfaceByIP(ip net.IP) (*net.Interface, error)

InterfaceByIP gets an interface by its IP address.

func InterfaceByMAC

func InterfaceByMAC(mac net.HardwareAddr) (*net.Interface, error)

InterfaceByMAC gets an interface by its MAC address.

func RegisterInternalTransport

func RegisterInternalTransport() (LinkService, *InternalTransport)

RegisterInternalTransport creates, registers, and starts an InternalTransport.

Types

type InternalTransport

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

InternalTransport is a transport for use by internal YaNFD modules (e.g., management).

func MakeInternalTransport

func MakeInternalTransport() *InternalTransport

MakeInternalTransport makes an InternalTransport.

func (*InternalTransport) ExpirationPeriod

func (t *InternalTransport) ExpirationPeriod() time.Duration

ExpirationPeriod returns the time until this face expires. If transport not on-demand, returns 0.

func (*InternalTransport) GetSendQueueSize

func (t *InternalTransport) GetSendQueueSize() uint64

GetSendQueueSize returns the current size of the send queue.

func (*InternalTransport) LinkType

func (t *InternalTransport) LinkType() ndn.LinkType

LinkType returns the type of the transport.

func (*InternalTransport) LocalURI

func (t *InternalTransport) LocalURI() *ndn.URI

LocalURI returns the local URI of the transport.

func (*InternalTransport) MTU

func (t *InternalTransport) MTU() int

MTU returns the maximum transmission unit (MTU) of the Transport.

func (*InternalTransport) NInBytes

func (t *InternalTransport) NInBytes() uint64

NInBytes returns the number of link-layer bytes received on this transport.

func (*InternalTransport) NOutBytes

func (t *InternalTransport) NOutBytes() uint64

NOutBytes returns the number of link-layer bytes sent on this transport.

func (*InternalTransport) Persistency

func (t *InternalTransport) Persistency() Persistency

Persistency returns the persistency of the transport.

func (*InternalTransport) Receive

func (t *InternalTransport) Receive() (*tlv.Block, []byte, uint64)

Receive receives a packet from the perspective of the internal component.

func (*InternalTransport) RemoteURI

func (t *InternalTransport) RemoteURI() *ndn.URI

RemoteURI returns the remote URI of the transport.

func (*InternalTransport) Scope

func (t *InternalTransport) Scope() ndn.Scope

Scope returns the scope of the transport.

func (*InternalTransport) Send

func (t *InternalTransport) Send(block *tlv.Block, pitToken []byte, nextHopFaceID *uint64)

Send sends a packet from the perspective of the internal component.

func (*InternalTransport) SetMTU

func (t *InternalTransport) SetMTU(mtu int)

SetMTU sets the MTU of the transport.

func (*InternalTransport) SetPersistency

func (t *InternalTransport) SetPersistency(persistency Persistency) bool

SetPersistency changes the persistency of the face.

func (*InternalTransport) State

func (t *InternalTransport) State() ndn.State

State returns the state of the transport.

func (*InternalTransport) String

func (t *InternalTransport) String() string

type LinkService

type LinkService interface {
	String() string
	Transport() transport
	SetFaceID(faceID uint64)

	FaceID() uint64
	LocalURI() *ndn.URI
	RemoteURI() *ndn.URI
	Persistency() Persistency
	SetPersistency(persistency Persistency)
	Scope() ndn.Scope
	LinkType() ndn.LinkType
	MTU() int
	SetMTU(mtu int)

	ExpirationPeriod() time.Duration
	State() ndn.State

	// Main entry point for running face thread
	Run()

	// SendPacket Add a packet to the send queue for this link service
	SendPacket(packet *ndn.PendingPacket)

	Close()

	GetHasQuit() chan bool

	// Counters
	NInInterests() uint64
	NInData() uint64
	NInBytes() uint64
	NOutInterests() uint64
	NOutData() uint64
	NOutBytes() uint64
	// contains filtered or unexported methods
}

LinkService is an interface for link service implementations

type Listener

type Listener interface {
	String() string
	Run()
	Close()
}

Listener listens for incoming unicast connections for a transport type.

type MulticastEthernetTransport

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

MulticastEthernetTransport is a multicast Ethernet transport.

func MakeMulticastEthernetTransport

func MakeMulticastEthernetTransport(remoteURI *ndn.URI, localURI *ndn.URI) (*MulticastEthernetTransport, error)

MakeMulticastEthernetTransport creates a new multicast Ethernet transport.

func (*MulticastEthernetTransport) ExpirationPeriod

func (t *MulticastEthernetTransport) ExpirationPeriod() time.Duration

ExpirationPeriod returns the time until this face expires. If transport not on-demand, returns 0.

func (*MulticastEthernetTransport) GetSendQueueSize

func (t *MulticastEthernetTransport) GetSendQueueSize() uint64

GetSendQueueSize returns the current size of the send queue.

func (*MulticastEthernetTransport) LinkType

func (t *MulticastEthernetTransport) LinkType() ndn.LinkType

LinkType returns the type of the transport.

func (*MulticastEthernetTransport) LocalURI

func (t *MulticastEthernetTransport) LocalURI() *ndn.URI

LocalURI returns the local URI of the transport.

func (*MulticastEthernetTransport) MTU

func (t *MulticastEthernetTransport) MTU() int

MTU returns the maximum transmission unit (MTU) of the Transport.

func (*MulticastEthernetTransport) NInBytes

func (t *MulticastEthernetTransport) NInBytes() uint64

NInBytes returns the number of link-layer bytes received on this transport.

func (*MulticastEthernetTransport) NOutBytes

func (t *MulticastEthernetTransport) NOutBytes() uint64

NOutBytes returns the number of link-layer bytes sent on this transport.

func (*MulticastEthernetTransport) Persistency

func (t *MulticastEthernetTransport) Persistency() Persistency

Persistency returns the persistency of the transport.

func (*MulticastEthernetTransport) RemoteURI

func (t *MulticastEthernetTransport) RemoteURI() *ndn.URI

RemoteURI returns the remote URI of the transport.

func (*MulticastEthernetTransport) Scope

func (t *MulticastEthernetTransport) Scope() ndn.Scope

Scope returns the scope of the transport.

func (*MulticastEthernetTransport) SetMTU

func (t *MulticastEthernetTransport) SetMTU(mtu int)

SetMTU sets the MTU of the transport.

func (*MulticastEthernetTransport) SetPersistency

func (t *MulticastEthernetTransport) SetPersistency(persistency Persistency) bool

SetPersistency changes the persistency of the face.

func (*MulticastEthernetTransport) State

func (t *MulticastEthernetTransport) State() ndn.State

State returns the state of the transport.

func (*MulticastEthernetTransport) String

func (t *MulticastEthernetTransport) String() string

type MulticastUDPTransport

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

MulticastUDPTransport is a multicast UDP transport.

func MakeMulticastUDPTransport

func MakeMulticastUDPTransport(localURI *ndn.URI) (*MulticastUDPTransport, error)

MakeMulticastUDPTransport creates a new multicast UDP transport.

func (*MulticastUDPTransport) ExpirationPeriod

func (t *MulticastUDPTransport) ExpirationPeriod() time.Duration

ExpirationPeriod returns the time until this face expires. If transport not on-demand, returns 0.

func (*MulticastUDPTransport) GetSendQueueSize

func (t *MulticastUDPTransport) GetSendQueueSize() uint64

GetSendQueueSize returns the current size of the send queue.

func (*MulticastUDPTransport) LinkType

func (t *MulticastUDPTransport) LinkType() ndn.LinkType

LinkType returns the type of the transport.

func (*MulticastUDPTransport) LocalURI

func (t *MulticastUDPTransport) LocalURI() *ndn.URI

LocalURI returns the local URI of the transport.

func (*MulticastUDPTransport) MTU

func (t *MulticastUDPTransport) MTU() int

MTU returns the maximum transmission unit (MTU) of the Transport.

func (*MulticastUDPTransport) NInBytes

func (t *MulticastUDPTransport) NInBytes() uint64

NInBytes returns the number of link-layer bytes received on this transport.

func (*MulticastUDPTransport) NOutBytes

func (t *MulticastUDPTransport) NOutBytes() uint64

NOutBytes returns the number of link-layer bytes sent on this transport.

func (*MulticastUDPTransport) Persistency

func (t *MulticastUDPTransport) Persistency() Persistency

Persistency returns the persistency of the transport.

func (*MulticastUDPTransport) RemoteURI

func (t *MulticastUDPTransport) RemoteURI() *ndn.URI

RemoteURI returns the remote URI of the transport.

func (*MulticastUDPTransport) Scope

func (t *MulticastUDPTransport) Scope() ndn.Scope

Scope returns the scope of the transport.

func (*MulticastUDPTransport) SetMTU

func (t *MulticastUDPTransport) SetMTU(mtu int)

SetMTU sets the MTU of the transport.

func (*MulticastUDPTransport) SetPersistency

func (t *MulticastUDPTransport) SetPersistency(persistency Persistency) bool

SetPersistency changes the persistency of the face.

func (*MulticastUDPTransport) State

func (t *MulticastUDPTransport) State() ndn.State

State returns the state of the transport.

func (*MulticastUDPTransport) String

func (t *MulticastUDPTransport) String() string

type NDNLPLinkService

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

NDNLPLinkService is a link service implementing the NDNLPv2 link protocol

func MakeNDNLPLinkService

func MakeNDNLPLinkService(transport transport, options NDNLPLinkServiceOptions) *NDNLPLinkService

MakeNDNLPLinkService creates a new NDNLPv2 link service

func (*NDNLPLinkService) Close

func (l *NDNLPLinkService) Close()

func (*NDNLPLinkService) ExpirationPeriod

func (l *NDNLPLinkService) ExpirationPeriod() time.Duration

ExpirationPeriod returns the time until the underlying transport expires. If transport not on-demand, returns 0.

func (*NDNLPLinkService) FaceID

func (l *NDNLPLinkService) FaceID() uint64

FaceID returns the ID of the face

func (*NDNLPLinkService) GetHasQuit

func (l *NDNLPLinkService) GetHasQuit() chan bool

GetHasQuit returns the channel that indicates when the face has quit.

func (*NDNLPLinkService) LinkType

func (l *NDNLPLinkService) LinkType() ndn.LinkType

LinkType returns the type of the link.

func (*NDNLPLinkService) LocalURI

func (l *NDNLPLinkService) LocalURI() *ndn.URI

LocalURI returns the local URI of the underlying transport

func (*NDNLPLinkService) MTU

func (l *NDNLPLinkService) MTU() int

MTU returns the MTU of the underlying transport.

func (*NDNLPLinkService) NInBytes

func (l *NDNLPLinkService) NInBytes() uint64

NInBytes returns the number of link-layer bytes received on this face.

func (*NDNLPLinkService) NInData

func (l *NDNLPLinkService) NInData() uint64

NInData returns the number of Data packets received on this face.

func (*NDNLPLinkService) NInInterests

func (l *NDNLPLinkService) NInInterests() uint64

NInInterests returns the number of Interests received on this face.

func (*NDNLPLinkService) NOutBytes

func (l *NDNLPLinkService) NOutBytes() uint64

NOutBytes returns the number of link-layer bytes sent on this face.

func (*NDNLPLinkService) NOutData

func (l *NDNLPLinkService) NOutData() uint64

NInData returns the number of Data packets sent on this face.

func (*NDNLPLinkService) NOutInterests

func (l *NDNLPLinkService) NOutInterests() uint64

NOutInterests returns the number of Interests sent on this face.

func (*NDNLPLinkService) Options

Options gets the settings of the NDNLPLinkService.

func (*NDNLPLinkService) Persistency

func (l *NDNLPLinkService) Persistency() Persistency

Persistency returns the MTU of the underlying transport.

func (*NDNLPLinkService) RemoteURI

func (l *NDNLPLinkService) RemoteURI() *ndn.URI

RemoteURI returns the remote URI of the underlying transport

func (*NDNLPLinkService) Run

func (l *NDNLPLinkService) Run()

Run starts the face and associated goroutines

func (*NDNLPLinkService) Scope

func (l *NDNLPLinkService) Scope() ndn.Scope

Scope returns the scope of the underlying transport.

func (*NDNLPLinkService) SendPacket

func (l *NDNLPLinkService) SendPacket(packet *ndn.PendingPacket)

SendPacket adds a packet to the send queue for this link service

func (*NDNLPLinkService) SetFaceID

func (l *NDNLPLinkService) SetFaceID(faceID uint64)

func (*NDNLPLinkService) SetMTU

func (l *NDNLPLinkService) SetMTU(mtu int)

SetMTU sets the MTU of the underlying transport.

func (*NDNLPLinkService) SetOptions

func (l *NDNLPLinkService) SetOptions(options NDNLPLinkServiceOptions)

SetOptions changes the settings of the NDNLPLinkService.

func (*NDNLPLinkService) SetPersistency

func (l *NDNLPLinkService) SetPersistency(persistency Persistency)

SetPersistency sets the MTU of the underlying transport.

func (*NDNLPLinkService) State

func (l *NDNLPLinkService) State() ndn.State

State returns the state of the underlying transport.

func (*NDNLPLinkService) String

func (l *NDNLPLinkService) String() string

func (*NDNLPLinkService) Transport

func (l *NDNLPLinkService) Transport() transport

Transport returns the transport for the face.

type NDNLPLinkServiceOptions

type NDNLPLinkServiceOptions struct {
	IsFragmentationEnabled bool

	IsReassemblyEnabled bool

	IsReliabilityEnabled bool
	MaxRetransmissions   int
	// ReservedAckSpace represents the number of Acks to reserve space for in
	ReservedAckSpace int

	IsConsumerControlledForwardingEnabled bool

	IsIncomingFaceIndicationEnabled bool

	IsLocalCachePolicyEnabled bool

	IsCongestionMarkingEnabled bool

	BaseCongestionMarkingInterval   time.Duration
	DefaultCongestionThresholdBytes uint64
}

NDNLPLinkServiceOptions contains the settings for an NDNLPLinkService.

func MakeNDNLPLinkServiceOptions

func MakeNDNLPLinkServiceOptions() NDNLPLinkServiceOptions

type NullLinkService

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

NullLinkService is a link service that drops all packets.

func MakeNullLinkService

func MakeNullLinkService(transport transport) *NullLinkService

MakeNullLinkService makes a NullLinkService.

func (*NullLinkService) Close

func (l *NullLinkService) Close()

func (*NullLinkService) ExpirationPeriod

func (l *NullLinkService) ExpirationPeriod() time.Duration

ExpirationPeriod returns the time until the underlying transport expires. If transport not on-demand, returns 0.

func (*NullLinkService) FaceID

func (l *NullLinkService) FaceID() uint64

FaceID returns the ID of the face

func (*NullLinkService) GetHasQuit

func (l *NullLinkService) GetHasQuit() chan bool

GetHasQuit returns the channel that indicates when the face has quit.

func (*NullLinkService) LinkType

func (l *NullLinkService) LinkType() ndn.LinkType

LinkType returns the type of the link.

func (*NullLinkService) LocalURI

func (l *NullLinkService) LocalURI() *ndn.URI

LocalURI returns the local URI of the underlying transport

func (*NullLinkService) MTU

func (l *NullLinkService) MTU() int

MTU returns the MTU of the underlying transport.

func (*NullLinkService) NInBytes

func (l *NullLinkService) NInBytes() uint64

NInBytes returns the number of link-layer bytes received on this face.

func (*NullLinkService) NInData

func (l *NullLinkService) NInData() uint64

NInData returns the number of Data packets received on this face.

func (*NullLinkService) NInInterests

func (l *NullLinkService) NInInterests() uint64

NInInterests returns the number of Interests received on this face.

func (*NullLinkService) NOutBytes

func (l *NullLinkService) NOutBytes() uint64

NOutBytes returns the number of link-layer bytes sent on this face.

func (*NullLinkService) NOutData

func (l *NullLinkService) NOutData() uint64

NInData returns the number of Data packets sent on this face.

func (*NullLinkService) NOutInterests

func (l *NullLinkService) NOutInterests() uint64

NOutInterests returns the number of Interests sent on this face.

func (*NullLinkService) Persistency

func (l *NullLinkService) Persistency() Persistency

Persistency returns the MTU of the underlying transport.

func (*NullLinkService) RemoteURI

func (l *NullLinkService) RemoteURI() *ndn.URI

RemoteURI returns the remote URI of the underlying transport

func (*NullLinkService) Run

func (l *NullLinkService) Run()

Run runs the NullLinkService.

func (*NullLinkService) Scope

func (l *NullLinkService) Scope() ndn.Scope

Scope returns the scope of the underlying transport.

func (*NullLinkService) SendPacket

func (l *NullLinkService) SendPacket(packet *ndn.PendingPacket)

SendPacket adds a packet to the send queue for this link service

func (*NullLinkService) SetFaceID

func (l *NullLinkService) SetFaceID(faceID uint64)

func (*NullLinkService) SetMTU

func (l *NullLinkService) SetMTU(mtu int)

SetMTU sets the MTU of the underlying transport.

func (*NullLinkService) SetPersistency

func (l *NullLinkService) SetPersistency(persistency Persistency)

SetPersistency sets the MTU of the underlying transport.

func (*NullLinkService) State

func (l *NullLinkService) State() ndn.State

State returns the state of the underlying transport.

func (*NullLinkService) String

func (l *NullLinkService) String() string

func (*NullLinkService) Transport

func (l *NullLinkService) Transport() transport

Transport returns the transport for the face.

type NullTransport

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

NullTransport is a transport that drops all packets.

func MakeNullTransport

func MakeNullTransport() *NullTransport

MakeNullTransport makes a NullTransport.

func (*NullTransport) ExpirationPeriod

func (t *NullTransport) ExpirationPeriod() time.Duration

ExpirationPeriod returns the time until this face expires. If transport not on-demand, returns 0.

func (*NullTransport) GetSendQueueSize

func (t *NullTransport) GetSendQueueSize() uint64

GetSendQueueSize returns the current size of the send queue.

func (*NullTransport) LinkType

func (t *NullTransport) LinkType() ndn.LinkType

LinkType returns the type of the transport.

func (*NullTransport) LocalURI

func (t *NullTransport) LocalURI() *ndn.URI

LocalURI returns the local URI of the transport.

func (*NullTransport) MTU

func (t *NullTransport) MTU() int

MTU returns the maximum transmission unit (MTU) of the Transport.

func (*NullTransport) NInBytes

func (t *NullTransport) NInBytes() uint64

NInBytes returns the number of link-layer bytes received on this transport.

func (*NullTransport) NOutBytes

func (t *NullTransport) NOutBytes() uint64

NOutBytes returns the number of link-layer bytes sent on this transport.

func (*NullTransport) Persistency

func (t *NullTransport) Persistency() Persistency

Persistency returns the persistency of the transport.

func (*NullTransport) RemoteURI

func (t *NullTransport) RemoteURI() *ndn.URI

RemoteURI returns the remote URI of the transport.

func (*NullTransport) Scope

func (t *NullTransport) Scope() ndn.Scope

Scope returns the scope of the transport.

func (*NullTransport) SetMTU

func (t *NullTransport) SetMTU(mtu int)

SetMTU sets the MTU of the transport.

func (*NullTransport) SetPersistency

func (t *NullTransport) SetPersistency(persistency Persistency) bool

SetPersistency changes the persistency of the face.

func (*NullTransport) State

func (t *NullTransport) State() ndn.State

State returns the state of the transport.

func (*NullTransport) String

func (t *NullTransport) String() string

type Persistency

type Persistency uint64

Persistency represents the persistency of a face.

const (
	PersistencyPersistent Persistency = 0
	PersistencyOnDemand   Persistency = 1
	PersistencyPermanent  Persistency = 2
)

Face persistencies (shared with management).

func (Persistency) String

func (p Persistency) String() string

type Table

type Table struct {
	Faces map[uint64]LinkService
	// contains filtered or unexported fields
}

Table hold all faces used by the forwarder.

var FaceTable Table

FaceTable is the global face table for this forwarder

func (*Table) Add

func (t *Table) Add(face LinkService)

Add adds a face to the face table.

func (*Table) Get

func (t *Table) Get(id uint64) LinkService

Get gets the face with the specified ID (if any) from the face table.

func (*Table) GetAll

func (t *Table) GetAll() []LinkService

GetAll returns points to all faces.

func (*Table) GetByURI

func (t *Table) GetByURI(remoteURI *ndn.URI) LinkService

GetByURI gets the face with the specified remote URI (if any) from the face table.

func (*Table) Remove

func (t *Table) Remove(id uint64)

Remove removes a face from the face table.

type UDPListener

type UDPListener struct {
	HasQuit chan bool
	// contains filtered or unexported fields
}

UDPListener listens for incoming UDP unicast connections.

func MakeUDPListener

func MakeUDPListener(localURI *ndn.URI) (*UDPListener, error)

MakeUDPListener constructs a UDPListener.

func (*UDPListener) Run

func (l *UDPListener) Run()

Run starts the UDP listener.

func (*UDPListener) String

func (l *UDPListener) String() string

type UnicastUDPTransport

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

UnicastUDPTransport is a unicast UDP transport.

func MakeUnicastUDPTransport

func MakeUnicastUDPTransport(remoteURI *ndn.URI, localURI *ndn.URI, persistency Persistency) (*UnicastUDPTransport, error)

MakeUnicastUDPTransport creates a new unicast UDP transport.

func (*UnicastUDPTransport) ExpirationPeriod

func (t *UnicastUDPTransport) ExpirationPeriod() time.Duration

ExpirationPeriod returns the time until this face expires. If transport not on-demand, returns 0.

func (*UnicastUDPTransport) GetSendQueueSize

func (t *UnicastUDPTransport) GetSendQueueSize() uint64

GetSendQueueSize returns the current size of the send queue.

func (*UnicastUDPTransport) LinkType

func (t *UnicastUDPTransport) LinkType() ndn.LinkType

LinkType returns the type of the transport.

func (*UnicastUDPTransport) LocalURI

func (t *UnicastUDPTransport) LocalURI() *ndn.URI

LocalURI returns the local URI of the transport.

func (*UnicastUDPTransport) MTU

func (t *UnicastUDPTransport) MTU() int

MTU returns the maximum transmission unit (MTU) of the Transport.

func (*UnicastUDPTransport) NInBytes

func (t *UnicastUDPTransport) NInBytes() uint64

NInBytes returns the number of link-layer bytes received on this transport.

func (*UnicastUDPTransport) NOutBytes

func (t *UnicastUDPTransport) NOutBytes() uint64

NOutBytes returns the number of link-layer bytes sent on this transport.

func (*UnicastUDPTransport) Persistency

func (t *UnicastUDPTransport) Persistency() Persistency

Persistency returns the persistency of the transport.

func (*UnicastUDPTransport) RemoteURI

func (t *UnicastUDPTransport) RemoteURI() *ndn.URI

RemoteURI returns the remote URI of the transport.

func (*UnicastUDPTransport) Scope

func (t *UnicastUDPTransport) Scope() ndn.Scope

Scope returns the scope of the transport.

func (*UnicastUDPTransport) SetMTU

func (t *UnicastUDPTransport) SetMTU(mtu int)

SetMTU sets the MTU of the transport.

func (*UnicastUDPTransport) SetPersistency

func (t *UnicastUDPTransport) SetPersistency(persistency Persistency) bool

SetPersistency changes the persistency of the face.

func (*UnicastUDPTransport) State

func (t *UnicastUDPTransport) State() ndn.State

State returns the state of the transport.

func (*UnicastUDPTransport) String

func (t *UnicastUDPTransport) String() string

type UnixStreamListener

type UnixStreamListener struct {
	HasQuit chan bool
	// contains filtered or unexported fields
}

UnixStreamListener listens for incoming Unix stream connections.

func MakeUnixStreamListener

func MakeUnixStreamListener(localURI *ndn.URI) (*UnixStreamListener, error)

MakeUnixStreamListener constructs a UnixStreamListener.

func (*UnixStreamListener) Close

func (l *UnixStreamListener) Close()

Close closes the UnixStreamListener.

func (*UnixStreamListener) Run

func (l *UnixStreamListener) Run()

Run starts the Unix stream listener.

func (*UnixStreamListener) String

func (l *UnixStreamListener) String() string

type UnixStreamTransport

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

UnixStreamTransport is a Unix stream transport for communicating with local applications.

func MakeUnixStreamTransport

func MakeUnixStreamTransport(remoteURI *ndn.URI, localURI *ndn.URI, conn net.Conn) (*UnixStreamTransport, error)

MakeUnixStreamTransport creates a Unix stream transport.

func (*UnixStreamTransport) ExpirationPeriod

func (t *UnixStreamTransport) ExpirationPeriod() time.Duration

ExpirationPeriod returns the time until this face expires. If transport not on-demand, returns 0.

func (*UnixStreamTransport) GetSendQueueSize

func (t *UnixStreamTransport) GetSendQueueSize() uint64

GetSendQueueSize returns the current size of the send queue.

func (*UnixStreamTransport) LinkType

func (t *UnixStreamTransport) LinkType() ndn.LinkType

LinkType returns the type of the transport.

func (*UnixStreamTransport) LocalURI

func (t *UnixStreamTransport) LocalURI() *ndn.URI

LocalURI returns the local URI of the transport.

func (*UnixStreamTransport) MTU

func (t *UnixStreamTransport) MTU() int

MTU returns the maximum transmission unit (MTU) of the Transport.

func (*UnixStreamTransport) NInBytes

func (t *UnixStreamTransport) NInBytes() uint64

NInBytes returns the number of link-layer bytes received on this transport.

func (*UnixStreamTransport) NOutBytes

func (t *UnixStreamTransport) NOutBytes() uint64

NOutBytes returns the number of link-layer bytes sent on this transport.

func (*UnixStreamTransport) Persistency

func (t *UnixStreamTransport) Persistency() Persistency

Persistency returns the persistency of the transport.

func (*UnixStreamTransport) RemoteURI

func (t *UnixStreamTransport) RemoteURI() *ndn.URI

RemoteURI returns the remote URI of the transport.

func (*UnixStreamTransport) Scope

func (t *UnixStreamTransport) Scope() ndn.Scope

Scope returns the scope of the transport.

func (*UnixStreamTransport) SetMTU

func (t *UnixStreamTransport) SetMTU(mtu int)

SetMTU sets the MTU of the transport.

func (*UnixStreamTransport) SetPersistency

func (t *UnixStreamTransport) SetPersistency(persistency Persistency) bool

SetPersistency changes the persistency of the face.

func (*UnixStreamTransport) State

func (t *UnixStreamTransport) State() ndn.State

State returns the state of the transport.

func (*UnixStreamTransport) String

func (t *UnixStreamTransport) String() string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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