Process ChannelsAuthor(s): Jose F. Morales.
This module provides an abstraction for communication channels between processes (process) based on standard input/output/error streams.
Usage and interface
- Library usage:
Documentation on exports
A communication channel for standard file descriptors
Create channel bindings (taking into account pipes)
Cleanup temporaries due to channel file-based bindings.
Do port_call/1 on the result of channel transfer (send or receive).
Send input through channel binding ChannelBinding. Transfer status is internally stored (see binding_port_call/1).
Receive output from channel binding ChannelBinding. Transfer status is internally stored (see binding_port_call/1).
Open stream file redirections (for internals:'$exec'/9).
Close stream file redirections (for internals:'$exec'/9).
Known bugs and planned improvements
- (feature) Generalize channel marshalling
- (feature) Asynchronous data transfer is not really asynchronous