nstack

package module
v0.0.0-...-1a0588e Latest Latest
Warning

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

Go to latest
Published: Apr 29, 2020 License: GPL-3.0 Imports: 3 Imported by: 0

README

nstack Build Status GoDoc Go Report Card Coverage Status

Waiter

waiter

@startuml

title waiter

interface Waitable {
    +Readiness(EventMask) EventMask
    +EventRegister(*Entry, EventMask)
    +EventUnregister(*Entry)
}

class AlwaysReady {}

Waitable <|-- AlwaysReady

class ilist.Entry {}
class ilist.List {}
ilist.List o-- ilist.Entry

class Entry {
    +Context interface{}
    +Callback func(*Entry)
    -mask EvnetMask
    ilist.Entry
}
class Queue {
    -list ilist.List
    -mu sync.RWMutext
    +EventRegister(*Entry, EventMask)
    +EventUnregister(*Entry)
    +Notify(EventMask)
    +Events() EventMask
    +IsEmpty() bool
}

ilist.Entry <|-- Entry
ilist.List *-- Queue
Queue o-- Entry

@enduml

Documentation

Overview

Package nstack is a simple network stack

Directories

Path Synopsis
cmd
rawfile command
tun command
Package ilist provides the implementation of intrusive linked lists.
Package ilist provides the implementation of intrusive linked lists.
Package tcpip provides the interfaces and related types that users of the tcpip stack will use in order to create endpoints used to send and receive data over the network stack.
Package tcpip provides the interfaces and related types that users of the tcpip stack will use in order to create endpoints used to send and receive data over the network stack.
buffer
Package buffer provides the implementation of a buffer view
Package buffer provides the implementation of a buffer view
header
Package header provides the implementation of the encoding and decoding of network protocol headers.
Package header provides the implementation of the encoding and decoding of network protocol headers.
link/fdbased
Package fdbased provided the implementation of data-link layer endpoints backed by boundary-preserving file descriptors (e.g., TUN devices, seqpacket/datagram sockets).
Package fdbased provided the implementation of data-link layer endpoints backed by boundary-preserving file descriptors (e.g., TUN devices, seqpacket/datagram sockets).
ports
Package ports provides PortManager that manages allocating, reserving and releasing ports
Package ports provides PortManager that manages allocating, reserving and releasing ports
stack
Package stack provides the glue between networking protocols and the consumers of the networking stack.
Package stack provides the glue between networking protocols and the consumers of the networking stack.
Package waiter provides the implementation of a wallet queue, where waiters can be enqueued to be notified when an event of interest happends.
Package waiter provides the implementation of a wallet queue, where waiters can be enqueued to be notified when an event of interest happends.

Jump to

Keyboard shortcuts

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