nanomsg.org/go/mangos/v2@v2.0.9-0.20200203084354-8a092611e461/README.adoc (about)

     1  ifdef::env-github[]
     2  :note-caption: :information_source:
     3  :important-caption: :heavy_exclamation_mark:
     4  :warning-caption: :heavy_exclamation_mark:
     5  endif::[]
     6  = mangos v2
     7  
     8  WARNING: This is a frozen repository, used to serve up the legacy v2 import path at nanomsg.org/go/mangos/v2.
     9  It should *not* be used except by old code still reliant on v2 import paths.  All new code should use
    10  the import path "go.nanomsg.org/mangos/v3".  The main github.com/nanomsg/mangos repo is still current.
    11  
    12  IMPORTANT: We strongly recommend users consider upgrading to go modules, and the new import path.
    13  
    14  [cols="2",grid="none",frame="none",options="autowidth"]
    15  |===
    16  |_Mangos™_ v2  is an implementation in pure Go of the *SP*
    17  ("`Scalability Protocols`") messaging system.
    18  These are colloquially  known as a "`nanomsg`".
    19  a|image::mangos.jpg[float="right"]
    20  |===
    21  
    22  NOTE: This is version 2 of _mangos_, and contains breaking changes and
    23  rather different API in some circumstances relative to version 1.  To use the
    24  original version of _mangos_ please see https://github.com/nanomsg/mangos-v1
    25  
    26  The modern C implementation of the SP protocols is available as
    27  https://github.com/nanomsg/nng[__NNG™__].
    28  
    29  The original implementation of the SP protocols is available as
    30  http://www.nanomsg.org[__nanomsg™__].
    31  
    32  Generally (modulo a few caveats) all of these implementations can inter-operate.
    33  
    34  The design is intended to make it easy to add new transports with almost
    35  trivial effort, as well as new topologies ("`protocols`" in SP parlance.)
    36  
    37  At present, all of the Req/Rep, Pub/Sub, Pair, Bus, Push/Pull, and
    38  Surveyor/Respondent patterns are supported.
    39  This project also supports an experimental protocol called Star.
    40  
    41  Supported transports include TCP, inproc, IPC, WebSocket, WebSocket/TLS and TLS.
    42  
    43  Basic interoperability with nanomsg and NNG has been verified (you can do
    44  so yourself with `nanocat` and `macat`) for all protocols and transports
    45  that _NNG_ and _nanomsg_ support, except for the _ZeroTier_ transport and the PAIRv1
    46  protocol, which are only supported in _NNG_ at this time.
    47  
    48  There are a number of projects that use these products together.
    49  
    50  // There is a third party experimental QUIC transport available at
    51  // [quic-mangos](https://github.com/lthibault/quic-mangos).
    52  // (An RFE to make this transport official exists.)
    53  
    54  // If you find this useful, I would appreciate knowing about it.  I can be reached
    55  // via my email address, garrett -at- damore -dot- org
    56  
    57  == Documentation
    58  
    59  For docs, see https://godoc.org/nanomsg.org/go/mangos/v2 or run:
    60  
    61      $ godoc -http=:6060
    62  
    63  then see http://localhost:6060/pkg/nanomsg.org/go/mangos/v2/
    64  
    65  == Testing
    66  
    67  This package supports internal self tests, which can be run in
    68  the idiomatic Go way.
    69  (Note that most of the tests are in a test subdirectory.)
    70  
    71      $ go test nanomsg.org/go/mangos/v2/...
    72  
    73  There are also internal benchmarks available:
    74  
    75      $ go test -bench=. nanomsg.org/go/mangos/v2/test
    76  
    77  == Commercial Support
    78  
    79  mailto:info@staysail.tech[Staysail Systems, Inc.] offers
    80  http://staysail.tech/support/mangos[commercial support] for mangos.
    81  
    82  == Examples
    83  
    84  Some examples are posted in the directories under `examples/` in this project.
    85  
    86  These examples are rewrites (in Go) of Tim Dysinger's
    87  http://nanomsg.org/gettingstarted/index.html[Getting Started with Nanomsg].
    88  
    89  Running `godoc` in the example directories will yield information about how
    90  to run each example program.
    91  
    92  Enjoy!
    93  
    94  '''
    95  Copyright 2020 The Mangos Authors
    96  
    97  mangos™, Nanomsg™ and NNG™ are http://nanomsg.org/trademarks.html[trademarks] of Garrett D'Amore.