port

package
v0.13.0 Latest Latest
Warning

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

Go to latest
Published: Jan 20, 2025 License: MIT Imports: 3 Imported by: 11

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Pipe added in v0.13.0

func Pipe() (*InPort, *OutPort)

Pipe is a connection between two ports.

Types

type CloseHook added in v0.11.0

type CloseHook interface {
	// Close performs the necessary cleanup actions.
	Close()
}

CloseHook is an interface that defines a method for handling resource cleanup.

func CloseHookFunc added in v0.11.0

func CloseHookFunc(fn func()) CloseHook

CloseHookFunc creates a new CloseHook from the provided function.

type CloseHooks added in v0.11.0

type CloseHooks []CloseHook

CloseHooks represents a slice of CloseHook interfaces, which are processed in reverse order when closed.

func (CloseHooks) Close added in v0.11.0

func (h CloseHooks) Close()

type InPort

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

InPort represents an input port used for receiving data.

func NewIn

func NewIn() *InPort

NewIn creates and returns a new InPort instance.

func (*InPort) AddCloseHook added in v0.11.0

func (p *InPort) AddCloseHook(hook CloseHook) bool

AddCloseHook adds a close hook to the port if it is not already present.

func (*InPort) AddListener added in v0.10.0

func (p *InPort) AddListener(listener Listener) bool

AddListener adds a listener to the port if it is not already registered.

func (*InPort) AddOpenHook added in v0.11.0

func (p *InPort) AddOpenHook(hook OpenHook) bool

AddOpenHook adds a hook to the port if it is not already present.

func (*InPort) Close

func (p *InPort) Close()

Close shuts down all readers associated with the input port and clears hooks, listeners, and processes close hooks.

func (*InPort) Open

func (p *InPort) Open(proc *process.Process) *packet.Reader

Open prepares the input port for a given process and returns a reader.

func (*InPort) RemoveCloseHook added in v0.11.0

func (p *InPort) RemoveCloseHook(hook CloseHook) bool

RemoveCloseHook removes a close hook from the port if it exists.

func (*InPort) RemoveOpenHook added in v0.11.0

func (p *InPort) RemoveOpenHook(hook OpenHook) bool

RemoveOpenHook removes a hook from the port if it exists.

type Listener

type Listener interface {
	// Accept is called to handle a process.
	Accept(proc *process.Process)
}

Listener is an interface for handling process events.

func ListenFunc

func ListenFunc(accept func(proc *process.Process)) Listener

ListenFunc creates a new Listener from the provided function.

type Listeners added in v0.11.0

type Listeners []Listener

Listeners is a slice of Listener interfaces, allowing multiple listeners to handle processes concurrently.

func (Listeners) Accept added in v0.11.0

func (l Listeners) Accept(proc *process.Process)

type OpenHook added in v0.11.0

type OpenHook interface {
	// Open processes the given process.
	Open(*process.Process)
}

OpenHook defines an interface for processing packets associated with a process.

func OpenHookFunc added in v0.11.0

func OpenHookFunc(open func(*process.Process)) OpenHook

OpenHookFunc creates a new Hook from the provided function.

type OpenHooks added in v0.11.0

type OpenHooks []OpenHook

OpenHooks is a slice of Hook interfaces, processed in reverse order.

func (OpenHooks) Open added in v0.11.0

func (h OpenHooks) Open(proc *process.Process)

type OutPort

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

OutPort represents an output port for sending data.

func NewOut

func NewOut() *OutPort

NewOut creates and returns a new OutPort instance.

func (*OutPort) AddCloseHook added in v0.11.0

func (p *OutPort) AddCloseHook(hook CloseHook) bool

AddCloseHook adds a close hook to the port if not already present.

func (*OutPort) AddListener added in v0.10.0

func (p *OutPort) AddListener(listener Listener) bool

AddListener registers a listener for outgoing data if not already present.

func (*OutPort) AddOpenHook added in v0.11.0

func (p *OutPort) AddOpenHook(hook OpenHook) bool

AddOpenHook adds a hook for packet processing if not already present.

func (*OutPort) Close

func (p *OutPort) Close()

Close closes all writers and clears linked input ports, hooks, and listeners.

func (p *OutPort) Link(in *InPort)

Link connects this output port to an input port.

func (p *OutPort) Links() int

Links returns the number of input ports this port is connected to.

func (*OutPort) Open

func (p *OutPort) Open(proc *process.Process) *packet.Writer

Open opens the output port for the given process and returns a writer.

func (*OutPort) RemoveCloseHook added in v0.11.0

func (p *OutPort) RemoveCloseHook(hook CloseHook) bool

RemoveCloseHook removes a close hook from the port if present.

func (*OutPort) RemoveOpenHook added in v0.11.0

func (p *OutPort) RemoveOpenHook(hook OpenHook) bool

RemoveOpenHook removes a hook from the port if present.

func (p *OutPort) Unlink(in *InPort)

Unlink disconnects this output port from an input port.

Jump to

Keyboard shortcuts

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