ipc

package module
v0.6.1 Latest Latest
Warning

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

Go to latest
Published: Jul 19, 2021 License: Apache-2.0 Imports: 0 Imported by: 0

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.

CircleCI GoDoc Go Report Card

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

Install

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

System requirements

  1. Linux, OSX, FreeBSD, and Windows (x86 or x86-64).
  2. Go 1.4 or higher.

Documentation

Documentation can be found at godoc.

Notes

Build status

This library is currently beta. 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 (x86 or x86-64). Supports following mechanisms:

fifo (unix and windows pipes)
memory mapped files
shared memory
system message queues (Linux, FreeBSD, OSX)
cross-platform priority message queue
mutexes, rw mutexes
semaphores
events
conditional variables

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