summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/rfc.html59
-rw-r--r--docs/rfc.md14
-rw-r--r--docs/rfc.txt38
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