FSFileHandle
------------

                 Key: LUCY-83
                 URL: https://issues.apache.org/jira/browse/LUCY-83
             Project: Lucy
          Issue Type: Sub-task
          Components: Core
            Reporter: Marvin Humphrey
            Assignee: Marvin Humphrey
            Priority: Blocker


FSFileHandle abstracts out low level interaction with the OS and file system.

Some form of memory map support is required: mmap() on unixen, and
CreateFileMapping()/MapViewOfFile() on Windows.

Only atomic, positional reads are supported, using 64-bit pread() on unixen,
and ReadFile() with an OVERLAPPED structure on Windows.

Multiple InStreams may share a single read-only FSFileHandle, because
FSFH_Read() does not change file position or other state in the underlying
OS-specific file object.  Theoretically, operating multiple InStreams in
different threads against a single shared FileHandle will also work -- which
is crucial for threadsafe compound files.  Thread safety is as yet untested, 
though, since Lucy's Perl bindings are single-threaded.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to