User Tools

Site Tools


dido:public:ra:xapend:xapend.b_stds:defact:zmtp:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
dido:public:ra:xapend:xapend.b_stds:defact:zmtp:start [2020/11/13 02:21]
nick ↷ Links adapted because of a move operation
dido:public:ra:xapend:xapend.b_stds:defact:zmtp:start [2021/11/09 15:36] (current)
char ↷ Page moved and renamed from dido:public:ra:xapend:xapend.b_stds:defact:zmtp to dido:public:ra:xapend:xapend.b_stds:defact:zmtp:start
Line 12: Line 12:
 | Initial release | v 3.0 | | Initial release | v 3.0 |
 | Stable release | None | | Stable release | None |
-| API Documentation ​    | [[https://​rfc.zeromq.org/​spec:​23/​ZMTP/​]] |+| [[dido:​public:​ra:​xapend:​xapend.a_glossary:​a:​api|API]] Documentation ​    | [[https://​rfc.zeromq.org/​spec:​23/​ZMTP/​]] |
 | Repository  ​       | [[https://​github.com/​zeromq/​zmtp]] ​          | | Repository  ​       | [[https://​github.com/​zeromq/​zmtp]] ​          |
 | Written in         | C | | Written in         | C |
Line 25: Line 25:
  
 ==== Abstract ==== ==== Abstract ====
-//The ZeroMQ Message Transport Protocol (ZMTP) is a transport layer protocol for exchanging messages between two peers over a connected transport layer such as TCP. This document describes ZMTP 3.0. //+//The ZeroMQ Message Transport Protocol (ZMTP) is a [[dido:​public:​ra:​xapend:​xapend.a_glossary:​t:​transportlayer|transport layer]] protocol for exchanging messages between two peers over a connected transport layer such as TCP. This document describes ZMTP 3.0. //
  
 ==== Goals ==== ==== Goals ====
Line 32: Line 32:
     * //TCP carries a stream of octets with no delimiters, but we want to send and receive discrete messages. Thus, ZMTP reads and writes frames consisting of a size and a body.//     * //TCP carries a stream of octets with no delimiters, but we want to send and receive discrete messages. Thus, ZMTP reads and writes frames consisting of a size and a body.//
  
-    * //We need to carry metadata on each frame (such as, whether the frame is part of a multipart message, or not). ZMTP provides a flags field in each frame for metadata.//+    * //We need to carry [[dido:​public:​ra:​xapend:​xapend.a_glossary:​m:​metadata|metadata]] ​on each frame (such as, whether the frame is part of a multipart message, or not). ZMTP provides a flags field in each frame for metadata.//
  
     * //We need to be able to talk to older implementations,​ so that our framing can evolve without breaking existing implementations. ZMTP defines a greeting that announces the implemented version number, and specifies a method for version negotiation.//​     * //We need to be able to talk to older implementations,​ so that our framing can evolve without breaking existing implementations. ZMTP defines a greeting that announces the implemented version number, and specifies a method for version negotiation.//​
Line 42: Line 42:
     * //We need a way to carry metadata about the connection, after the security handshake. ZMTP defines a standard set of metadata properties (socket type, identity, etc.) that peers exchange after the security mechanism.//​     * //We need a way to carry metadata about the connection, after the security handshake. ZMTP defines a standard set of metadata properties (socket type, identity, etc.) that peers exchange after the security mechanism.//​
  
-    * //We need to write down these solutions in a way that is easy for teams to implement on any platform and in any language. ZMTP is thus specified as a formal protocol (this document) and made available to teams under a free license.// +    * //We need to write down these solutions in a way that is easy for teams to implement on any [[dido:​public:​ra:​xapend:​xapend.a_glossary:​p:​platform|platform]] and in any language. ZMTP is thus specified as a formal protocol (this document) and made available to teams under a free license.//
- +
-    * //We need guarantees that people will not create private forks of ZMTP, thus breaking interoperability. ZMTP is thus licensed under the GPLv3, so that any derived versions must also be made available to users of software that implements it. //+
  
 +    * //We need guarantees that people will not create private forks of ZMTP, thus breaking [[dido:​public:​ra:​xapend:​xapend.a_glossary:​i:​interoperability|interoperability]]. ZMTP is thus licensed under the GPLv3, so that any derived versions must also be made available to users of software that implements it. //
  
 +/​**=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 +/* To add a discussion page to this page, comment out the line that says 
 +  ~~DISCUSSION:​off~~
 +*/
 +~~DISCUSSION:​on|Outstanding Issues~~
 +~~DISCUSSION:​off~~
dido/public/ra/xapend/xapend.b_stds/defact/zmtp/start.1605252074.txt.gz · Last modified: 2020/11/13 02:21 by nick