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.