ipc

package module
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Dec 18, 2016 License: Apache-2.0 Imports: 0 Imported by: 2

README

go-ipc: A library for inter-process communication written in pure Go.

This package gives you access to os-native ipc mechanisms on Linux, OSX, FreeBSD, and Windows.

wercker status GoDoc Go Report Card

  • Pure Go implementation, no cgo is required.
  • Works on Linux, OSX, FreeBSD, and Windows.
  • Support of the following mechanisms:
    • fifo (all supported platforms)
    • memory mapped files (all supported platforms)
    • shared memory (all supported platforms)
    • system message queues (Linux, FreeBSD, OSX)
    • cross-platform priority message queue (all supported platforms)
    • mutexes, rw mutexes (all supported platforms)
    • semaphores (all supported platforms)
    • events (all supported platforms)
    • conditional variables (all supported platforms)

Install

  1. Install Go 1.6 or higher.
  2. Run
go get -u bitbucket.org/avd/go-ipc

System requirements

  1. Go 1.6 or higher.

Documentation

Documentation can be found at godoc.

Notes

  • Convars use futexes no Linux and FreeBSD. Currently spin locks are used on Windows and OSX.

Build status

This library is currently alpha. The 'master' branch is not guaranteed to contain stable code, it is even not guaranteed, that it builds correctly on all platforms. The library uses Semantic Versioning 2.0.0, so it is recommended to checkout the latest release.

Contributing

Any contributions are welcome. Feel free to:

Before opening a PR, be sure, that:

  • your PR has an issue associated with it.
  • your commit messages are adequate.
  • you added unit tests for your code.
  • you gofmt'ed the code.
  • you used gometalinter to check your code.

PR's containing documentation improvements and tests are especially welcome.

LICENSE

This package is made available under an Apache License 2.0. See LICENSE and NOTICE.

Documentation

Overview

Package ipc provides primitives for inter-process communication. Works on Linux, OSX, FreeBSD, and Windows. Supports following mechanisms:

fifo (all supported platforms)
memory mapped files (all supported platforms)
shared memory (all supported platforms)
system message queues (Linux, FreeBSD, OSX)
cross-platform priority message queue (all supported platforms)
mutexes, rw mutexes (all supported platforms)
semaphores (all supported platforms)
events (all supported platforms)
conditional variables (all supported platforms)

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Destroyer

type Destroyer interface {
	Destroy() error
}

Destroyer is an object which can be permanently removed.

Directories

Path Synopsis
Package fifo implements first-in-first-out objects logic.
Package fifo implements first-in-first-out objects logic.
internal
Package mmf implements privitives for mapping files into memory.
Package mmf implements privitives for mapping files into memory.
mq
Package mq implements interprocess queues logic.
Package mq implements interprocess queues logic.
shm
Package shm implements shared memory objects.
Package shm implements shared memory objects.
Package sync implements primitives for synchronization between processes.
Package sync implements primitives for synchronization between processes.

Jump to

Keyboard shortcuts

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