Documentation ¶
Overview ¶
Package mmap allows mapping files into memory. It tries to provide a simple, reasonably portable interface, but doesn't go out of its way to abstract away every little platform detail. This specifically means:
- forked processes may or may not inherit mappings
- a file's timestamp may or may not be updated by writes through mappings
- specifying a size larger than the file's actual size can increase the file's size
- If the mapped file is being modified by another process while your program's running, don't expect consistent results between platforms
Index ¶
Constants ¶
const ( // If the ANON flag is set, the mapped memory will not be backed by a file. ANON = 1 << iota )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type MMap ¶
type MMap []byte
MMap represents a file mapped into memory.
func Map ¶
Map maps an entire file into memory. Note that because of runtime limitations, no file larger than about 2GB can be completely mapped into memory. If ANON is set in flags, f is ignored.
func (*MMap) Unmap ¶
Unmap deletes the memory mapped region, flushes any remaining changes, and sets m to nil. Trying to read or write any remaining references to m after Unmap is called will result in undefined behavior. Unmap should only be called on the slice value that was originally returned from a call to Map. Calling Unmap on a derived slice may cause errors.