Changes between Version 16 and Version 17 of IOTasklist
- Timestamp:
- 11/29/10 16:03:50 (11 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
IOTasklist
v16 v17 1 1 = IO PMCs = 2 2 3 * All IO PMC types should inherit from Handle4 3 * Separate pipe-related logic out of FileHandle. Create a Pipe PMC type. 5 4 * Add a "Close" or "Disconnect" method to the Socket PMC … … 7 6 * Add an improved file-like API to the Socket PMC (open, close, readline, etc). Internally, these methods should direct to similar functions in src/io/api.c 8 7 * Move buffering logic from FileHandle and StringHandle to Handle. Be able to inherit it from all other PMC types. (include buffering-related ATTRs, METHOD_buffer_type, and METHOD_buffer_size) 9 * Move METHOD_get_fd from FileHandle to Handle. Be able to inherit this into Socket, Pipe, etc. 8 * Move METHOD_get_fd from FileHandle to Handle. Be able to inherit this into Socket, Pipe, etc. (Set up as GCI task) 10 9 * Move encoding logic (METHOD_encoding, ATTR_encoding, etc) from StringHandle and FileHandle to Handle. Be able to inherit it from all other PMC types. 11 10 * Unify logic wherever possible so multiple IO types can share … … 65 64 66 65 * Create an abstract "IOHandle" class 67 68 66 * Abstract relevant API code from FileHandle and Socket into IOHandle 69 70 67 * Fix StringHandle to be a proper subclass of IOHandle 71 72 68 * Rip out the layers structures and macros. (After the migration is complete.) 73 74 69 * Remove src/io/io_mmap.c, unused and not useful. 75 76 70 * Convert I/O layers to I/O objects. (allison) 77 78 71 * src/io/io_unix.c is the guts of most I/O on most platforms. src/io/io_win32.c is Windows. src/io/io_stdio.c is STDIN, STDOUT, and STDERR. These three need to be ported to the new system. (allison) 79 80 72 * src/io/io_utf8.c is really the wrong way to go about it. Filehandles should be marked with character set and encoding similar to strings. (allison) 81 82 73 * Create a PMC named "FileHandle", as a core file handle object, which can be subclassed by various HLLs. (allison) 83 84 74 * Continue to support different I/O operations on different platforms, using C '#ifdef's on platform-specific sections. (allison) 85 86 75 * All 'PIO_*' functions change to 'Parrot_io_*'. (Since the implementation is completely changing, better to create new functions with the new names than to change the names of existing functions.) (allison) 87 88 76 * Remove deprecated opcode 'pioctl', and fix related documentation. (See http://rt.perl.org/rt3/Ticket/Display.html?id=48589) 89 90 77 * Decide if we plan to use AIO before the 1.0 release. (See http://rt.perl.org/rt3/Ticket/Display.html?id=57920) 91 92 78 * Remove src/io/io_passdown.c and src/io/io_layers.c, purely implementation artifacts of I/O layers implementation. 93 94 79 * Change src/io/io_string.c to a subclass of FileHandle PMC, that provides the same interface, but to a string instead of a file handle. 80 * All IO PMC types should inherit from Handle 95 81 96 82 97