{"id":13817699,"url":"https://github.com/nanomsg/mangos-v1","last_synced_at":"2025-12-16T16:29:42.182Z","repository":{"id":22397759,"uuid":"25734811","full_name":"nanomsg/mangos-v1","owner":"nanomsg","description":"The pure golang implementation of nanomsg (version 1, frozen)","archived":true,"fork":false,"pushed_at":"2019-11-03T18:17:21.000Z","size":2519,"stargazers_count":1529,"open_issues_count":1,"forks_count":119,"subscribers_count":73,"default_branch":"master","last_synced_at":"2025-04-20T05:32:16.694Z","etag":null,"topics":["distributed","golang","nanomsg","protocol","transport"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nanomsg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":"gdamore","patreon":"gedamore"}},"created_at":"2014-10-25T14:52:25.000Z","updated_at":"2025-02-19T18:26:14.000Z","dependencies_parsed_at":"2022-09-13T03:12:05.835Z","dependency_job_id":null,"html_url":"https://github.com/nanomsg/mangos-v1","commit_stats":null,"previous_names":["go-mangos/mangos","gdamore/mangos"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanomsg%2Fmangos-v1","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanomsg%2Fmangos-v1/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanomsg%2Fmangos-v1/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanomsg%2Fmangos-v1/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nanomsg","download_url":"https://codeload.github.com/nanomsg/mangos-v1/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254418737,"owners_count":22068141,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["distributed","golang","nanomsg","protocol","transport"],"created_at":"2024-08-04T06:00:53.934Z","updated_at":"2025-12-16T16:29:37.119Z","avatar_url":"https://github.com/nanomsg.png","language":"Go","funding_links":["https://github.com/sponsors/gdamore","https://patreon.com/gedamore"],"categories":["Misc"],"sub_categories":[],"readme":"## mangos \u003cimg src=mangos.jpg align=right\u003e\n\n\n[![Linux Status](https://img.shields.io/circleci/project/github/nanomsg/mangos.svg?label=linux)](https://circleci.com/gh/nanomsg/mangos)\n[![Apache License](https://img.shields.io/badge/license-APACHE2-blue.svg)](https://github.com/nanomsg/mangos/blob/master/LICENSE)\n[![Discord](https://img.shields.io/discord/639573728212156478?label=discord)](https://discord.gg/wewTkby)\n[![GoDoc](https://img.shields.io/badge/godoc-reference-blue.svg)](https://godoc.org/nanomsg.org/go-mangos)\n[![Go Report Card](https://goreportcard.com/badge/nanomsg.org/go-mangos)](https://goreportcard.com/report/nanomsg.org/go-mangos)\n\n\u003e NOTE: This is the legacy version of mangos (v1).\n\u003e Users are encouraged to use [mangos v2](http://github.com/nanomsg/mangos)\n\u003e instead if possible.\n\u003e No further development is taking place on v1.\n\nPackage mangos is an implementation in pure Go of the SP\n(\"Scalability Protocols\")\nmessaging system.\nThis makes heavy use of go channels, internally, but it can operate\non systems that lack support for cgo.\n\nThe reference implementation of the SP protocols is available as\n[nanomsg\u0026trade;](http://www.nanomsg.org); there is also an effort to implement\nan improved and more capable version of nanomsg called\n[NNG\u0026trade;](https://github.com/nanomsg/nng).\n\nThe design is intended to make it easy to add new transports with almost trivial\neffort, as well as new topologies (\"protocols\" in SP terminology.)\n\nAt present, all of the Req/Rep, Pub/Sub, Pair, Bus, Push/Pull, and\nSurveyor/Respondent patterns are supported.\n\nAdditionally, there is an experimental new pattern called STAR available.  This\npattern is like Bus, except that the messages are delivered not just to\nimmediate peers, but to all members of the topology.  Developers must be careful\nnot to create cycles in their network when using this pattern, otherwise\ninfinite loops can occur.\n\nSupported transports include TCP, inproc, IPC, WebSocket, WebSocket over TLS and\nTLS over TCP.\nUse addresses of the form \"tls+tcp://\u003chost\u003e:\u003cport\u003e\" to access TLS.\nNote that ipc:// is not supported on Windows (by either this or the reference\nimplementation.)  Forcing the local TCP port in Dial is not supported yet (this\nis rarely useful).\n\nBasic interoperability with nanomsg and NNG has been verified (you can do\nso yourself with nanocat and macat) for all protocols and transports\nthat NNG and nanomsg support.\nAdditionally there are a number of projects that use the two products together.\n\nThere is a third party experimental QUIC transport available at\n[quic-mangos](https://github.com/lthibault/quic-mangos).  (An RFE to make this\ntransport official exists.)\n\nIf you find this useful, I would appreciate knowing about it.  I can be reached\nvia my email address, garrett -at- damore -dot- org\n\n## Installing\n\n### Using *go get*\n\n    $ go get -u nanomsg.org/go-mangos\n\nAfter this command *mangos* is ready to use. Its source will be in:\n\n    $GOPATH/src/pkg/nanomsg.org/go-mangos\n\nYou can use `go get -u -a` to update all installed packages.\n\n## Documentation\n\nFor docs, see http://godoc.org/nanomsg.org/go-mangos or run:\n\n    $ godoc nanomsg.org/go-mangos\n\n## Testing\n\nThis package supports internal self tests, which can be run in\nthe idiomatic Go way.  (Note that most of the tests are in a test\nsubdirectory.)\n\n    $ go test nanomsg.org/go-mangos/...\n\nThere are also internal benchmarks available:\n\n    $ go test -bench=. nanomsg.org/go-mangos/test\n\n## Commercial Support\n\n[Staysail Systems, Inc.](mailto:info@staysail.tech) offers\n[commercial support](http://staysail.tech/support/mangos) for mangos.\n\n## Examples\n\nSome examples are posted in the directories under examples/\nin this project.\n\nThese examples are rewrites (in Go) of Tim Dysinger's\n[Getting Started with Nanomsg](http://nanomsg.org/gettingstarted/index.html).\n\ngodoc in the example directories will yield information about how to run\neach example program.\n\nEnjoy!\n\nCopyright 2018 The Mangos Authors\n\nmangos\u0026trade;, Nanomsg\u0026trade; and NNG\u0026trade; are [trademarks](http://nanomsg.org/trademarks.html) of Garrett D'Amore.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnanomsg%2Fmangos-v1","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnanomsg%2Fmangos-v1","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnanomsg%2Fmangos-v1/lists"}