Skip to content

os.notify

fn new #

fn new() !FdNotifier

new creates a new KqueueNotifier. The FdNotifier interface is returned to allow OS specific implementations without exposing the concrete type

fn FdConfigFlags.from #

fn FdConfigFlags.from[W](input W) !FdConfigFlags

from returns the FdConfigFlags value of an integer or of a field name, or an error if there is none.

fn FdConfigFlags.zero #

fn FdConfigFlags.zero() FdConfigFlags

zero returns a FdConfigFlags value with no flags set.

fn FdEventType.from #

fn FdEventType.from[W](input W) !FdEventType

from returns the FdEventType value of an integer or of a field name, or an error if there is none.

fn FdEventType.zero #

fn FdEventType.zero() FdEventType

zero returns a FdEventType value with no flags set.

interface FdEvent #

interface FdEvent {
	fd   int
	kind FdEventType
}

interface FdNotifier #

interface FdNotifier {
mut:
	add(fd int, events FdEventType, conf ...FdConfigFlags) !
	modify(fd int, events FdEventType, conf ...FdConfigFlags) !
	remove(fd int) !
	wait(timeout time.Duration) []FdEvent
	close() !
}

Backends should provide a new()?FdNotifier function

enum FdConfigFlags #

@[flag]
enum FdConfigFlags {
	edge_trigger
	one_shot
	wake_up
	exclusive
}

fn (FdConfigFlags) is_empty #

fn (e &FdConfigFlags) is_empty() bool

is_empty returns true if no flags are set.

fn (FdConfigFlags) has #

fn (e &FdConfigFlags) has(flag FdConfigFlags) bool

has returns true if any of the flags in flag are set.

fn (FdConfigFlags) all #

fn (e &FdConfigFlags) all(flag FdConfigFlags) bool

all returns true if all the flags in flag are set.

fn (FdConfigFlags) set #

fn (mut e FdConfigFlags) set(flag FdConfigFlags)

set sets the flags in flag.

fn (FdConfigFlags) set_all #

fn (mut e FdConfigFlags) set_all()

set_all sets all the flags.

fn (FdConfigFlags) clear #

fn (mut e FdConfigFlags) clear(flag FdConfigFlags)

clear clears the flags in flag.

fn (FdConfigFlags) clear_all #

fn (mut e FdConfigFlags) clear_all()

clear_all clears all the flags.

fn (FdConfigFlags) toggle #

fn (mut e FdConfigFlags) toggle(flag FdConfigFlags)

toggle flips the flags in flag.

enum FdEventType #

@[flag]
enum FdEventType {
	read
	write
	peer_hangup
	exception
	error
	hangup
}

fn (FdEventType) is_empty #

fn (e &FdEventType) is_empty() bool

is_empty returns true if no flags are set.

fn (FdEventType) has #

fn (e &FdEventType) has(flag FdEventType) bool

has returns true if any of the flags in flag are set.

fn (FdEventType) all #

fn (e &FdEventType) all(flag FdEventType) bool

all returns true if all the flags in flag are set.

fn (FdEventType) set #

fn (mut e FdEventType) set(flag FdEventType)

set sets the flags in flag.

fn (FdEventType) set_all #

fn (mut e FdEventType) set_all()

set_all sets all the flags.

fn (FdEventType) clear #

fn (mut e FdEventType) clear(flag FdEventType)

clear clears the flags in flag.

fn (FdEventType) clear_all #

fn (mut e FdEventType) clear_all()

clear_all clears all the flags.

fn (FdEventType) toggle #

fn (mut e FdEventType) toggle(flag FdEventType)

toggle flips the flags in flag.

struct C.epoll_event #

Available on Linux only.

struct C.epoll_event {
	events u32
	data   C.epoll_data_t
}

struct C.kevent #

Available on macOS only.

struct C.kevent {
mut:
	ident  uint
	filter i16
	flags  u16
	fflags u32
	data   int
	udata  voidptr
}