[][src]Crate gstuff

Modules

oneshot

Reason for having this is that neither multiqueue nor crossbeam_channel implement UnwindSafe currently.

Macros

ERR

Returns a Err(String), prepending the current location (file name and line number) to the string.

ERRL

Prepends file name and line number to the given message.

gstring

A helper to build a string on the stack.

try_f

Returns on error, prepending the current location to a stringified error, then passing the string to From::from.

try_fu

Lifts an error into a boxed future. Box<Future<Item=_, Error=_>>.

try_fus

Lifts an error into a boxed future. Box<Future<Item=_, Error=String>>.

try_s

Returns on error, converting the Err value to String and prepending the current location.

try_sp

Like try_s, but takes a reference.

Structs

Constructible

A cell that can be initialized, but only once.
Once initialized the cell remains immutable, allowing us to alias the value.

FileLock

Allows several threads or processes to compete for a shared resource by tracking resource ownership with a file.
If the lock file is older than ttl_sec then it is removed, allowing us to recover from a thread or process dying while holding the lock.

ProcEn

Process entry in /proc.

ProcIt

Iterate over processes in /proc.

Functions

any_to_str

Useful with panic handlers.

binprint

Helps logging binary data (particularly with text-readable parts, such as bencode, netstring) by replacing all the non-printable bytes with the blank character.

cmd

Run a command, printing it first. Stdout and stderr are forwarded through (inherit).

duration_to_float

Converts the duration into a number of seconds with fractions.

duration_to_ms

Converts the duration into a number of milliseconds.

filename

Shortcut to path->filename conversion.

last_modified_sec

Last-modified of the file in seconds since the UNIX epoch, with fractions.
Returns 0 if the file does not exists.

ms2sec

Converts time in milliseconds into a number of seconds with fractions.

netstring

Takes a netstring from the front of the slice.

now_float

The current number of seconds since UNIX epoch, with fractions.

now_ms

The current number of milliseconds since UNIX epoch.

slurp

Read contents of the file into a Vec.

slurp_prog

Runs a command in a shell, returning stderr+stdout on success.

with_hostname

Wraps gethostname to fetch the current hostname into a temporary buffer.