core: output_queue -> OutputQueue, etc...
[lumina.git] / doc / ideas.mdwn
blob15f011ba9e6537a7b3d5e86b41d157deb1e68e36
1 Queue system:
3         * Message objects composed of data objects (data may/may not exist at time of queuing)
4                 * Can potentially be re-ordered up to a point (where objects disassociate)
5         * Data objects
6                 * Memory
7                 * Memory-buffer object
8                 * File Descriptor w/ length - type needs to be known or detectable by some means
9                         * Real file
10                         * Pipe
11                         * Socket
12                 * User-defined pending it implements necessary functions
13         * Events/Properties
14                 * On-Add
15                 * Get-Size
16                 * Prepare
17                 * CanMerge ? (memory objects and buffers can merge.. how should this work out?)
18                 * Send(fd) - sends item out to FD by whatever means, keeps getting called until "done"
19                         * This may require capability detection (ex: splice support.. how much?)
20                 * On-Completion - Object done with - entire message done with
21                 * On-Error - Error occurred while sending object...