diff options
| -rw-r--r-- | docs/rfc.html | 59 | ||||
| -rw-r--r-- | docs/rfc.md | 14 | ||||
| -rw-r--r-- | docs/rfc.txt | 38 |
3 files changed, 95 insertions, 16 deletions
diff --git a/docs/rfc.html b/docs/rfc.html index 3452389..b760565 100644 --- a/docs/rfc.html +++ b/docs/rfc.html @@ -1220,7 +1220,7 @@ li > p:last-of-type:only-child { </tr></thead> <tfoot><tr> <td class="left">bt</td> -<td class="center">Expires 4 November 2026</td> +<td class="center">Expires 17 November 2026</td> <td class="right">[Page]</td> </tr></tfoot> </table> @@ -1233,12 +1233,12 @@ li > p:last-of-type:only-child { <dd class="internet-draft">SOLEC</dd> <dt class="label-published">Published:</dt> <dd class="published"> -<time datetime="2026-05-03" class="published">3 May 2026</time> +<time datetime="2026-05-16" class="published">16 May 2026</time> </dd> <dt class="label-intended-status">Intended Status:</dt> <dd class="intended-status">Experimental</dd> <dt class="label-expires">Expires:</dt> -<dd class="expires"><time datetime="2026-11-04">4 November 2026</time></dd> +<dd class="expires"><time datetime="2026-11-17">17 November 2026</time></dd> <dt class="label-authors">Author:</dt> <dd class="authors"> <div class="author"> @@ -1274,7 +1274,7 @@ SOLEC system.<a href="#section-abstract-1" class="pilcrow">¶</a></p> time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."<a href="#section-boilerplate.1-3" class="pilcrow">¶</a></p> <p id="section-boilerplate.1-4"> - This Internet-Draft will expire on 4 November 2026.<a href="#section-boilerplate.1-4" class="pilcrow">¶</a></p> + This Internet-Draft will expire on 17 November 2026.<a href="#section-boilerplate.1-4" class="pilcrow">¶</a></p> </section> </div> <div id="copyright"> @@ -1362,7 +1362,10 @@ SOLEC system.<a href="#section-abstract-1" class="pilcrow">¶</a></p> <p id="section-toc.1-1.2.2.4.2.7.1"><a href="#section-2.4.7" class="auto internal xref">2.4.7</a>. <a href="#name-usermode" class="internal xref">Usermode</a></p> </li> <li class="compact toc ulBare ulEmpty" id="section-toc.1-1.2.2.4.2.8"> - <p id="section-toc.1-1.2.2.4.2.8.1"><a href="#section-2.4.8" class="auto internal xref">2.4.8</a>. <a href="#name-test" class="internal xref">Test</a></p> + <p id="section-toc.1-1.2.2.4.2.8.1"><a href="#section-2.4.8" class="auto internal xref">2.4.8</a>. <a href="#name-gethistory" class="internal xref">GetHistory</a></p> +</li> + <li class="compact toc ulBare ulEmpty" id="section-toc.1-1.2.2.4.2.9"> + <p id="section-toc.1-1.2.2.4.2.9.1"><a href="#section-2.4.9" class="auto internal xref">2.4.9</a>. <a href="#name-test" class="internal xref">Test</a></p> </li> </ul> </li> @@ -1885,13 +1888,13 @@ example: joining, leaving or setting privilages.<a href="#section-2.4.7-1" class </div> </section> </div> -<div id="test"> +<div id="gethistory"> <section id="section-2.4.8"> - <h4 id="name-test"> -<a href="#section-2.4.8" class="section-number selfRef">2.4.8. </a><a href="#name-test" class="section-name selfRef">Test</a> + <h4 id="name-gethistory"> +<a href="#section-2.4.8" class="section-number selfRef">2.4.8. </a><a href="#name-gethistory" class="section-name selfRef">GetHistory</a> </h4> -<p id="section-2.4.8-1">Test payload is used for encoder and decoders testing. Clients and servers -should ignore this kind of payload.<a href="#section-2.4.8-1" class="pilcrow">¶</a></p> +<p id="section-2.4.8-1">Read messages previously send to a specific channel. User has to member of the channel to perform this action. <em>since</em> field specifies start of time range for which history should be retrieved. <em>count</em> specifes how many messages should be returned in a single response. <em>GetHistory</em> is a locking sequence and it cannot be cancelled while in progress so <em>count</em> should be set relatively low. To get more messages use multiple requests with incremented <em>offset</em>.<a href="#section-2.4.8-1" class="pilcrow">¶</a></p> +<p id="section-2.4.8-2">Response is just a sequence of <em>Message</em>. Client should use <em>Timestamp</em> field of a <em>Message</em> to show them in corrent order.<a href="#section-2.4.8-2" class="pilcrow">¶</a></p> <table class="center" id="table-11"> <caption><a href="#table-11" class="selfRef">Table 11</a></caption> <thead> @@ -1902,6 +1905,42 @@ should ignore this kind of payload.<a href="#section-2.4.8-1" class="pilcrow">¶ </thead> <tbody> <tr> + <td class="text-left" rowspan="1" colspan="1">string</td> + <td class="text-left" rowspan="1" colspan="1">channel_name</td> + </tr> + <tr> + <td class="text-left" rowspan="1" colspan="1">timestamp</td> + <td class="text-left" rowspan="1" colspan="1">since</td> + </tr> + <tr> + <td class="text-left" rowspan="1" colspan="1">int64</td> + <td class="text-left" rowspan="1" colspan="1">count</td> + </tr> + <tr> + <td class="text-left" rowspan="1" colspan="1">int64</td> + <td class="text-left" rowspan="1" colspan="1">offset</td> + </tr> + </tbody> + </table> +</section> +</div> +<div id="test"> +<section id="section-2.4.9"> + <h4 id="name-test"> +<a href="#section-2.4.9" class="section-number selfRef">2.4.9. </a><a href="#name-test" class="section-name selfRef">Test</a> + </h4> +<p id="section-2.4.9-1">Test payload is used for encoder and decoders testing. Clients and servers +should ignore this kind of payload.<a href="#section-2.4.9-1" class="pilcrow">¶</a></p> +<table class="center" id="table-12"> + <caption><a href="#table-12" class="selfRef">Table 12</a></caption> +<thead> + <tr> + <th class="text-left" rowspan="1" colspan="1">Type</th> + <th class="text-left" rowspan="1" colspan="1">Name</th> + </tr> + </thead> + <tbody> + <tr> <td class="text-left" rowspan="1" colspan="1">uint8</td> <td class="text-left" rowspan="1" colspan="1">num1</td> </tr> diff --git a/docs/rfc.md b/docs/rfc.md index 3336cd4..b5fa585 100644 --- a/docs/rfc.md +++ b/docs/rfc.md @@ -243,6 +243,19 @@ example: joining, leaving or setting privilages. | 0x00 | none | | 0x01 | in_channel | +### GetHistory + +Read messages previously send to a specific channel. User has to member of the channel to perform this action. *since* field specifies start of time range for which history should be retrieved. *count* specifes how many messages should be returned in a single response. *GetHistory* is a locking sequence and it cannot be cancelled while in progress so *count* should be set relatively low. To get more messages use multiple requests with incremented *offset*. + +Response is just a sequence of *Message*. Client should use *Timestamp* field of a *Message* to show them in corrent order. + +| Type | Name | +|-----------|--------------| +| string | channel_name | +| timestamp | since | +| int64 | count | +| int64 | offset | + ### Test Test payload is used for encoder and decoders testing. Clients and servers @@ -300,7 +313,6 @@ Exchanging messages between SOLEC servers is a core concept behind the project. Sending message to user residing on a different server require estabilishing a connection between both servers. - ### Authentication Server authentication is crucial to prevent message spoofing and other forms of diff --git a/docs/rfc.txt b/docs/rfc.txt index a9a4e0c..4805ab7 100644 --- a/docs/rfc.txt +++ b/docs/rfc.txt @@ -1,7 +1,7 @@ SOLEC Working Group bt, Ed. Internet-Draft RCTT.net -Intended status: Experimental 3 May 2026 -Expires: 4 November 2026 +Intended status: Experimental 16 May 2026 +Expires: 17 November 2026 System of Lightweight Electronic Communication @@ -33,7 +33,8 @@ Table of Contents 2.4.5. ServerAuth 2.4.6. Message 2.4.7. Usermode - 2.4.8. Test + 2.4.8. GetHistory + 2.4.9. Test 2.5. Sequential operations 2.6. Client-Server connection initialisation 2.7. Exchanging messages between servers @@ -310,7 +311,34 @@ Table of Contents Table 10 -2.4.8. Test +2.4.8. GetHistory + + Read messages previously send to a specific channel. User has to + member of the channel to perform this action. _since_ field specifies + start of time range for which history should be retrieved. _count_ + specifes how many messages should be returned in a single response. + _GetHistory_ is a locking sequence and it cannot be cancelled while + in progress so _count_ should be set relatively low. To get more + messages use multiple requests with incremented _offset_. + + Response is just a sequence of _Message_. Client should use + _Timestamp_ field of a _Message_ to show them in corrent order. + + +===========+==============+ + | Type | Name | + +===========+==============+ + | string | channel_name | + +-----------+--------------+ + | timestamp | since | + +-----------+--------------+ + | int64 | count | + +-----------+--------------+ + | int64 | offset | + +-----------+--------------+ + + Table 11 + +2.4.9. Test Test payload is used for encoder and decoders testing. Clients and servers should ignore this kind of payload. @@ -335,7 +363,7 @@ Table of Contents | uint64 | num4 | +-----------+-------+ - Table 11 + Table 12 2.5. Sequential operations |
