mmap

package
v0.0.0-...-052ef2a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 29, 2023 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// RDONLY maps the memory read-only.
	// Attempts to write to the MMap object will result in undefined behavior.
	RDONLY = 0
	// RDWR maps the memory as read-write. Writes to the MMap object will update the
	// underlying file.
	RDWR = 1 << iota
	// COPY maps the memory as copy-on-write. Writes to the MMap object will affect
	// memory, but the underlying file will remain unchanged.
	COPY
	// If EXEC is set, the mapped memory is marked as executable.
	EXEC
)
View Source
const (
	// If the ANON flag is set, the mapped memory will not be backed by a file.
	ANON = 1 << iota
)

Variables

View Source
var (
	PageSize = int64(os.Getpagesize())
)

Functions

This section is empty.

Types

type MMap

type MMap []byte

MMap represents a file mapped into memory.

func Map

func Map(f *os.File, prot, flags int) (MMap, error)

Map maps an entire file into memory. If ANON is set in flags, f is ignored.

func MapRegion

func MapRegion(f *os.File, length int, prot, flags int, offset int64) (MMap, error)

MapRegion maps part of a file into memory. The offset parameter must be a multiple of the system's page size. If size < 0, the entire file will be mapped. If ANON is set in flags, f is ignored.

func (MMap) Flush

func (m MMap) Flush() error

Flush synchronizes the mapping's file to the file's file on disk.

func (MMap) FlushAsync

func (m MMap) FlushAsync() error

Flush synchronizes the mapping's file to the file's file on disk.

func (MMap) Lock

func (m MMap) Lock() error

Lock keeps the mapped region in physical memory, ensuring that it will not be swapped out.

func (MMap) Unlock

func (m MMap) Unlock() error

Unlock reverses the effect of Lock, allowing the mapped region to potentially be swapped out. If data is already unlocked, aan error will result.

func (*MMap) Unmap

func (m *MMap) Unmap() error

Unmap deletes the memory mapped region, flushes any remaining changes, and sets data to nil. Trying to read or write any remaining references to data after Unmap is called will result in undefined behavior. Unmap should only be called on the slice value that was originally returned from a pushRead to Map. Calling Unmap on a derived slice may cause errors.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL