Improved documentation.
This commit is contained in:
		
							parent
							
								
									9562803bb3
								
							
						
					
					
						commit
						0fe76d50f6
					
				| @ -358,7 +358,7 @@ def print_menu(): | ||||
|         print("") | ||||
|         while menu_mode == "downloading": | ||||
|             global current_download | ||||
|             percent = round(current_download.progress() * 100.0, 1) | ||||
|             percent = round(current_download.get_progress() * 100.0, 1) | ||||
|             print(("\rProgress: "+str(percent)+" %   "), end=' ') | ||||
|             sys.stdout.flush() | ||||
|             time.sleep(0.1) | ||||
|  | ||||
| @ -34,7 +34,7 @@ For more info, see [unsigned.io/projects/reticulum](https://unsigned.io/projects | ||||
|     - The API is very easy to use, and provides transfer progress | ||||
|  - Lightweight, flexible and expandable Request/Response mechanism | ||||
|  - Efficient link establishment | ||||
|     - Total bandwidth cost of setting up a link is 3 packets totalling 240 bytes | ||||
|     - Total bandwidth cost of setting up a link is 3 packets totalling 237 bytes | ||||
|     - Low cost of keeping links open at only 0.62 bits per second | ||||
| 
 | ||||
| ## Where can Reticulum be used? | ||||
|  | ||||
| @ -177,6 +177,22 @@ class Identity: | ||||
|         Identity.save_known_destinations() | ||||
| 
 | ||||
| 
 | ||||
|     @staticmethod | ||||
|     def from_bytes(prv_bytes): | ||||
|         """ | ||||
|         Create a new :ref:`RNS.Identity<api-identity>` instance from *bytes* of private key. | ||||
|         Can be used to load previously created and saved identities into Reticulum. | ||||
| 
 | ||||
|         :param prv_bytes: The *bytes* of private a saved private key. **HAZARD!** Never use this to generate a new key by feeding random data in prv_bytes. | ||||
|         :returns: A :ref:`RNS.Identity<api-identity>` instance, or *None* if the *bytes* data was invalid. | ||||
|         """ | ||||
|         identity = Identity(create_keys=False) | ||||
|         if identity.load_private_key(prv_bytes): | ||||
|             return identity | ||||
|         else: | ||||
|             return None | ||||
| 
 | ||||
| 
 | ||||
|     @staticmethod | ||||
|     def from_file(path): | ||||
|         """ | ||||
| @ -210,22 +226,6 @@ class Identity: | ||||
|             RNS.log("Error while saving identity to "+str(path), RNS.LOG_ERROR) | ||||
|             RNS.log("The contained exception was: "+str(e)) | ||||
| 
 | ||||
|     @staticmethod | ||||
|     def from_bytes(prv_bytes): | ||||
|         """ | ||||
|         Create a new :ref:`RNS.Identity<api-identity>` instance from *bytes* of private key. | ||||
|         Can be used to load previously created and saved identities into Reticulum. | ||||
| 
 | ||||
|         :param prv_bytes: The *bytes* of private a saved private key. **HAZARD!** Never not use this to generate a new key by feeding random data in prv_bytes. | ||||
|         :returns: A :ref:`RNS.Identity<api-identity>` instance, or *None* if the *bytes* data was invalid. | ||||
|         """ | ||||
|         identity = Identity(create_keys=False) | ||||
|         if identity.load_private_key(prv_bytes): | ||||
|             return identity | ||||
|         else: | ||||
|             return None | ||||
| 
 | ||||
| 
 | ||||
|     def __init__(self,create_keys=True): | ||||
|         # Initialize keys to none | ||||
|         self.prv           = None | ||||
|  | ||||
							
								
								
									
										53
									
								
								RNS/Link.py
									
									
									
									
									
								
							
							
						
						
									
										53
									
								
								RNS/Link.py
									
									
									
									
									
								
							| @ -27,14 +27,13 @@ class LinkCallbacks: | ||||
| 
 | ||||
| class Link: | ||||
|     """ | ||||
|     This class. | ||||
|     This class is used to establish and manage links to other peers. When a | ||||
|     link instance is created, Reticulum will attempt to establish verified | ||||
|     connectivity with the specified destination. | ||||
| 
 | ||||
|     :param destination: A :ref:`RNS.Destination<api-destination>` instance which to establish a link to. | ||||
|     :param established_callback: A function or method with the signature *callback(link)* to be called when the link has been established. | ||||
|     :param closed_callback: A function or method with the signature *callback(link)* to be called when the link is closed. | ||||
|     :param owner: Internal use by :ref:`RNS.Transport<api-Transport>`, ignore this argument. | ||||
|     :param peer_pub_bytes: Internal use, ignore this argument. | ||||
|     :param peer_sig_pub_bytes: Internal use, ignore this argument. | ||||
|     :param established_callback: An optional function or method with the signature *callback(link)* to be called when the link has been established. | ||||
|     :param closed_callback: An optional function or method with the signature *callback(link)* to be called when the link is closed. | ||||
|     """ | ||||
|     CURVE = RNS.Identity.CURVE | ||||
|     """ | ||||
| @ -870,6 +869,12 @@ class Link: | ||||
| 
 | ||||
| 
 | ||||
| class RequestReceipt(): | ||||
|     """ | ||||
|     An instance of this class is returned by the ``request`` method of ``RNS.Link`` | ||||
|     instances. It should never be instantiated manually. It provides methods to | ||||
|     check status, response time and response data when the request concludes. | ||||
|     """ | ||||
| 
 | ||||
|     FAILED    = 0x00 | ||||
|     SENT      = 0x01 | ||||
|     DELIVERED = 0x02 | ||||
| @ -942,7 +947,7 @@ class RequestReceipt(): | ||||
|             self.callbacks.failed(self) | ||||
| 
 | ||||
|     def response_resource_progress(self, resource): | ||||
|         self.progress = resource.progress() | ||||
|         self.progress = resource.get_progress() | ||||
|         self.__resource_response_timeout = time.time()+self.timeout | ||||
| 
 | ||||
|         if self.callbacks.progress != None: | ||||
| @ -979,9 +984,41 @@ class RequestReceipt(): | ||||
|         if self.callbacks.response != None: | ||||
|             self.callbacks.response(self) | ||||
| 
 | ||||
|     def response_time(self): | ||||
|     def get_request_id(self): | ||||
|         """ | ||||
|         :returns: The request ID as *bytes*. | ||||
|         """ | ||||
|         return self.request_id | ||||
| 
 | ||||
|     def get_status(self): | ||||
|         """ | ||||
|         :returns: The current status of the request, one of ``RNS.RequestReceipt.FAILED``, ``RNS.RequestReceipt.SENT``, ``RNS.RequestReceipt.DELIVERED``, ``RNS.RequestReceipt.READY``. | ||||
|         """ | ||||
|         return self.status | ||||
| 
 | ||||
|     def get_progress(self): | ||||
|         """ | ||||
|         :returns: The progress of a response being received as a *float* between 0.0 and 1.0. | ||||
|         """ | ||||
|         return self.progress | ||||
| 
 | ||||
|     def get_response(self): | ||||
|         """ | ||||
|         :returns: The response as *bytes* if it is ready, otherwise *None*. | ||||
|         """ | ||||
|         if self.status == RequestReceipt.READY: | ||||
|             return self.response | ||||
|         else: | ||||
|             return None | ||||
| 
 | ||||
|     def get_response_time(self): | ||||
|         """ | ||||
|         :returns: The response time of the request in seconds. | ||||
|         """ | ||||
|         if self.status == RequestReceipt.READY: | ||||
|             return self.response_concluded_at - self.started_at | ||||
|         else: | ||||
|             return None | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| @ -20,11 +20,6 @@ class Packet: | ||||
|     :param destination: A :ref:`RNS.Destination<api-destination>` instance to which the packet will be sent. | ||||
|     :param data: The data payload to be included in the packet as *bytes*. | ||||
|     :param create_receipt: Specifies whether a :ref:`RNS.PacketReceipt<api-packetreceipt>` should be created when instantiating the packet. | ||||
|     :param type: Internal use by :ref:`RNS.Transport<api-transport>`. Defaults to ``RNS.Packet.DATA``, and should not be specified. | ||||
|     :param context: Internal use by :ref:`RNS.Transport<api-transport>`. Ignore. | ||||
|     :param transport_type: Internal use by :ref:`RNS.Transport<api-transport>`. Ignore. | ||||
|     :param transport_id: Internal use by :ref:`RNS.Transport<api-transport>`. Ignore. | ||||
|     :param attached_interface: Internal use by :ref:`RNS.Transport<api-transport>`. Ignore. | ||||
|     """ | ||||
| 
 | ||||
|     # Packet types | ||||
| @ -309,8 +304,8 @@ class PacketReceipt: | ||||
|     """ | ||||
|     The PacketReceipt class is used to receive notifications about | ||||
|     :ref:`RNS.Packet<api-packet>` instances sent over the network. Instances | ||||
|     of this class should never be created manually, but always returned | ||||
|     from a the *send()* method of a :ref:`RNS.Packet<api-packet>` instance. | ||||
|     of this class are never created manually, but always returned from | ||||
|     the *send()* method of a :ref:`RNS.Packet<api-packet>` instance. | ||||
|     """ | ||||
|     # Receipt status constants | ||||
|     FAILED    = 0x00 | ||||
|  | ||||
| @ -15,14 +15,10 @@ class Resource: | ||||
| 
 | ||||
|     :param data: The data to be transferred. Can be *bytes* or an open *file handle*. See the :ref:`Filetransfer Example<example-filetransfer>` for details. | ||||
|     :param link: The :ref:`RNS.Link<api-link>` instance on which to transfer the data. | ||||
|     :param advertise: Whether to automatically advertise the resource. Can be *True* or *False*. | ||||
|     :param auto_compress: Whether to auto-compress the resource. Can be *True* or *False*. | ||||
|     :param callback: A *callable* with the signature *callback(resource)*. Will be called when the resource transfer concludes. | ||||
|     :param progress_callback: A *callable* with the signature *callback(resource)*. Will be called whenever the resource transfer progress is updated. | ||||
|     :param segment_index: Internal use, ignore. | ||||
|     :param original_hash: Internal use, ignore. | ||||
|     :param is_request: Internal use, ignore. | ||||
|     :param is_response: Internal use, ignore. | ||||
|     :param advertise: Optional. Whether to automatically advertise the resource. Can be *True* or *False*. | ||||
|     :param auto_compress: Optional. Whether to auto-compress the resource. Can be *True* or *False*. | ||||
|     :param callback: An optional *callable* with the signature *callback(resource)*. Will be called when the resource transfer concludes. | ||||
|     :param progress_callback: An optional *callable* with the signature *callback(resource)*. Will be called whenever the resource transfer progress is updated. | ||||
|     """ | ||||
|     WINDOW_FLEXIBILITY   = 4 | ||||
|     WINDOW_MIN           = 1 | ||||
| @ -756,7 +752,7 @@ class Resource: | ||||
|     def progress_callback(self, callback): | ||||
|         self.__progress_callback = callback | ||||
| 
 | ||||
|     def progress(self): | ||||
|     def get_progress(self): | ||||
|         """ | ||||
|         :returns: The current progress of the resource transfer as a *float* between 0.0 and 1.0. | ||||
|         """ | ||||
|  | ||||
| @ -36,6 +36,8 @@ class Reticulum: | ||||
|     other programs to use on demand. | ||||
|     """ | ||||
| 
 | ||||
|     # Future minimum will probably be locked in at 244 bytes to support | ||||
|     # networks with segments of different MTUs. Absolute minimum is 211. | ||||
|     MTU            = 500 | ||||
|     """ | ||||
|     The MTU that Reticulum adheres to, and will expect other peers to | ||||
| @ -44,8 +46,8 @@ class Reticulum: | ||||
|     completely break compatibility with all other RNS networks. An identical | ||||
|     MTU is a prerequisite for peers to communicate in the same network. | ||||
| 
 | ||||
|     The absolute minimum MTU that Reticulum will function with is 215 bytes, | ||||
|     but bandwidth efficiency will be significantly impacted. | ||||
|     Unless you really know what you are doing, the MTU should be left at | ||||
|     the default value. | ||||
|     """ | ||||
| 
 | ||||
|     # Length of truncated hashes in bits. | ||||
|  | ||||
| @ -9,6 +9,10 @@ from time import sleep | ||||
| from .vendor import umsgpack as umsgpack | ||||
| 
 | ||||
| class Transport: | ||||
|     """ | ||||
|     Through static methods of this class you can interact with Reticulums | ||||
|     Transport system. | ||||
|     """ | ||||
|     # Constants | ||||
|     BROADCAST    = 0x00; | ||||
|     TRANSPORT    = 0x01; | ||||
|  | ||||
| @ -9,7 +9,7 @@ from ._version import __version__ | ||||
| 
 | ||||
| from .Reticulum import Reticulum | ||||
| from .Identity import Identity | ||||
| from .Link import Link | ||||
| from .Link import Link, RequestReceipt | ||||
| from .Transport import Transport | ||||
| from .Destination import Destination | ||||
| from .Packet import Packet | ||||
|  | ||||
| @ -1,4 +1,4 @@ | ||||
| # Sphinx build info version 1 | ||||
| # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. | ||||
| config: 75fee65d4971d4f4b61034cb277ccd5b | ||||
| config: eda3a1317314f558917722e3479f8836 | ||||
| tags: 645f666f9bcd5a90fca523b33c5a78b7 | ||||
|  | ||||
| @ -39,7 +39,7 @@ Destination | ||||
| Packet | ||||
| ------ | ||||
| 
 | ||||
| .. autoclass:: RNS.Packet | ||||
| .. autoclass:: RNS.Packet(destination, data, create_receipt = True) | ||||
|    :members: | ||||
| 
 | ||||
| .. _api-packetreceipt: | ||||
| @ -47,7 +47,7 @@ Packet | ||||
| Packet Receipt | ||||
| -------------- | ||||
| 
 | ||||
| .. autoclass:: RNS.PacketReceipt | ||||
| .. autoclass:: RNS.PacketReceipt() | ||||
|    :members: | ||||
| 
 | ||||
| .. _api-link: | ||||
| @ -55,7 +55,15 @@ Packet Receipt | ||||
| Link | ||||
| ---- | ||||
| 
 | ||||
| .. autoclass:: RNS.Link | ||||
| .. autoclass:: RNS.Link(destination, established_callback=None, closed_callback = None) | ||||
|    :members: | ||||
| 
 | ||||
| .. _api-requestreceipt: | ||||
| 
 | ||||
| Request Receipt | ||||
| --------------- | ||||
| 
 | ||||
| .. autoclass:: RNS.RequestReceipt() | ||||
|    :members: | ||||
| 
 | ||||
| .. _api-resource: | ||||
| @ -63,7 +71,7 @@ Link | ||||
| Resource | ||||
| -------- | ||||
| 
 | ||||
| .. autoclass:: RNS.Resource | ||||
| .. autoclass:: RNS.Resource(data, link, advertise=True, auto_compress=True, callback=None, progress_callback=None, timeout=None) | ||||
|    :members: | ||||
| 
 | ||||
| .. _api-transport: | ||||
|  | ||||
| @ -429,7 +429,7 @@ terms of bandwidth, so it can be used just for a short exchange, and then recrea | ||||
| also rotate encryption keys. The link can also be kept alive for longer periods of time, if this is | ||||
| more suitable to the application. The procedure also inserts the *link id* , a hash calculated from the link request packet, into the memory of forwarding nodes, which means that the communicating nodes can thereafter reach each other simply by referring to this *link id*. | ||||
| 
 | ||||
| The combined bandwidth cost of setting up a link is 3 packets totalling 240 bytes (more info in the | ||||
| The combined bandwidth cost of setting up a link is 3 packets totalling 237 bytes (more info in the | ||||
| :ref:`Binary Packet Format<understanding-packetformat>` section). The amount of bandwidth used on keeping | ||||
| a link open is practically negligible, at 0.62 bits per second. Even on a slow 1200 bits per second packet | ||||
| radio channel, 100 concurrent links will still leave 95% channel capacity for actual data. | ||||
| @ -701,5 +701,5 @@ Binary Packet Format | ||||
|      - Announce        :    151 bytes | ||||
|      - Link Request    :    77  bytes | ||||
|      - Link Proof      :    77  bytes | ||||
|      - Link RTT packet :    86  bytes | ||||
|      - Link RTT packet :    83  bytes | ||||
|      - Link keepalive  :    14  bytes | ||||
| @ -57,7 +57,7 @@ What does Reticulum Offer? | ||||
| 
 | ||||
| * Efficient link establishment | ||||
| 
 | ||||
|   * Total bandwidth cost of setting up a link is only 3 packets, totalling 240 bytes | ||||
|   * Total bandwidth cost of setting up a link is only 3 packets, totalling 237 bytes | ||||
| 
 | ||||
|   * Low cost of keeping links open at only 0.62 bits per second | ||||
| 
 | ||||
|  | ||||
| @ -1,6 +1,6 @@ | ||||
| var DOCUMENTATION_OPTIONS = { | ||||
|     URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), | ||||
|     VERSION: '0.2.3 beta', | ||||
|     VERSION: '0.2.4 beta', | ||||
|     LANGUAGE: 'None', | ||||
|     COLLAPSE_INDEX: false, | ||||
|     BUILDER: 'html', | ||||
|  | ||||
| @ -5,7 +5,7 @@ | ||||
|   <head> | ||||
|     <meta charset="utf-8" /> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||
|     <title>Examples — Reticulum Network Stack 0.2.3 beta documentation</title> | ||||
|     <title>Examples — Reticulum Network Stack 0.2.4 beta documentation</title> | ||||
|     <link rel="stylesheet" type="text/css" href="_static/pygments.css" /> | ||||
|     <link rel="stylesheet" type="text/css" href="_static/classic.css" /> | ||||
|      | ||||
| @ -27,7 +27,7 @@ | ||||
|         <li class="right" > | ||||
|           <a href="reference.html" title="API Reference" | ||||
|              accesskey="P">previous</a> |</li> | ||||
|         <li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.2.3 beta documentation</a> »</li> | ||||
|         <li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.2.4 beta documentation</a> »</li> | ||||
|         <li class="nav-item nav-item-this"><a href="">Examples</a></li>  | ||||
|       </ul> | ||||
|     </div>   | ||||
| @ -2017,7 +2017,7 @@ interface to efficiently pass files of any size over a Reticulum <a class="refer | ||||
|         <span class="nb">print</span><span class="p">(</span><span class="s2">""</span><span class="p">)</span> | ||||
|         <span class="k">while</span> <span class="n">menu_mode</span> <span class="o">==</span> <span class="s2">"downloading"</span><span class="p">:</span> | ||||
|             <span class="k">global</span> <span class="n">current_download</span> | ||||
|             <span class="n">percent</span> <span class="o">=</span> <span class="nb">round</span><span class="p">(</span><span class="n">current_download</span><span class="o">.</span><span class="n">progress</span><span class="p">()</span> <span class="o">*</span> <span class="mf">100.0</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span> | ||||
|             <span class="n">percent</span> <span class="o">=</span> <span class="nb">round</span><span class="p">(</span><span class="n">current_download</span><span class="o">.</span><span class="n">get_progress</span><span class="p">()</span> <span class="o">*</span> <span class="mf">100.0</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span> | ||||
|             <span class="nb">print</span><span class="p">((</span><span class="s2">"</span><span class="se">\r</span><span class="s2">Progress: "</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">percent</span><span class="p">)</span><span class="o">+</span><span class="s2">" %   "</span><span class="p">),</span> <span class="n">end</span><span class="o">=</span><span class="s1">' '</span><span class="p">)</span> | ||||
|             <span class="n">sys</span><span class="o">.</span><span class="n">stdout</span><span class="o">.</span><span class="n">flush</span><span class="p">()</span> | ||||
|             <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mf">0.1</span><span class="p">)</span> | ||||
| @ -2319,7 +2319,7 @@ interface to efficiently pass files of any size over a Reticulum <a class="refer | ||||
|         <li class="right" > | ||||
|           <a href="reference.html" title="API Reference" | ||||
|              >previous</a> |</li> | ||||
|         <li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.2.3 beta documentation</a> »</li> | ||||
|         <li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.2.4 beta documentation</a> »</li> | ||||
|         <li class="nav-item nav-item-this"><a href="">Examples</a></li>  | ||||
|       </ul> | ||||
|     </div> | ||||
|  | ||||
| @ -5,7 +5,7 @@ | ||||
|   <head> | ||||
|     <meta charset="utf-8" /> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||
|     <title>Index — Reticulum Network Stack 0.2.3 beta documentation</title> | ||||
|     <title>Index — Reticulum Network Stack 0.2.4 beta documentation</title> | ||||
|     <link rel="stylesheet" type="text/css" href="_static/pygments.css" /> | ||||
|     <link rel="stylesheet" type="text/css" href="_static/classic.css" /> | ||||
|      | ||||
| @ -23,7 +23,7 @@ | ||||
|         <li class="right" style="margin-right: 10px"> | ||||
|           <a href="#" title="General Index" | ||||
|              accesskey="I">index</a></li> | ||||
|         <li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.2.3 beta documentation</a> »</li> | ||||
|         <li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.2.4 beta documentation</a> »</li> | ||||
|         <li class="nav-item nav-item-this"><a href="">Index</a></li>  | ||||
|       </ul> | ||||
|     </div>   | ||||
| @ -47,6 +47,7 @@ | ||||
|  | <a href="#I"><strong>I</strong></a> | ||||
|  | <a href="#K"><strong>K</strong></a> | ||||
|  | <a href="#L"><strong>L</strong></a> | ||||
|  | <a href="#M"><strong>M</strong></a> | ||||
|  | <a href="#N"><strong>N</strong></a> | ||||
|  | <a href="#P"><strong>P</strong></a> | ||||
|  | <a href="#R"><strong>R</strong></a> | ||||
| @ -152,20 +153,36 @@ | ||||
| 
 | ||||
|       <ul> | ||||
|         <li><a href="reference.html#RNS.Identity.get_private_key">(RNS.Identity method)</a> | ||||
| </li> | ||||
|       </ul></li> | ||||
|       <li><a href="reference.html#RNS.RequestReceipt.get_progress">get_progress() (RNS.RequestReceipt method)</a> | ||||
| 
 | ||||
|       <ul> | ||||
|         <li><a href="reference.html#RNS.Resource.get_progress">(RNS.Resource method)</a> | ||||
| </li> | ||||
|       </ul></li> | ||||
|       <li><a href="reference.html#RNS.Identity.get_public_key">get_public_key() (RNS.Identity method)</a> | ||||
| </li> | ||||
|       <li><a href="reference.html#RNS.Identity.get_random_hash">get_random_hash() (RNS.Identity static method)</a> | ||||
| </li> | ||||
|   </ul></td> | ||||
|   <td style="width: 33%; vertical-align: top;"><ul> | ||||
|       <li><a href="reference.html#RNS.Identity.get_random_hash">get_random_hash() (RNS.Identity static method)</a> | ||||
| </li> | ||||
|       <li><a href="reference.html#RNS.Link.get_remote_identity">get_remote_identity() (RNS.Link method)</a> | ||||
| </li> | ||||
|       <li><a href="reference.html#RNS.RequestReceipt.get_request_id">get_request_id() (RNS.RequestReceipt method)</a> | ||||
| </li> | ||||
|       <li><a href="reference.html#RNS.RequestReceipt.get_response">get_response() (RNS.RequestReceipt method)</a> | ||||
| </li> | ||||
|       <li><a href="reference.html#RNS.RequestReceipt.get_response_time">get_response_time() (RNS.RequestReceipt method)</a> | ||||
| </li> | ||||
|       <li><a href="reference.html#RNS.PacketReceipt.get_rtt">get_rtt() (RNS.PacketReceipt method)</a> | ||||
| </li> | ||||
|       <li><a href="reference.html#RNS.PacketReceipt.get_status">get_status() (RNS.PacketReceipt method)</a> | ||||
| 
 | ||||
|       <ul> | ||||
|         <li><a href="reference.html#RNS.RequestReceipt.get_status">(RNS.RequestReceipt method)</a> | ||||
| </li> | ||||
|       </ul></li> | ||||
|   </ul></td> | ||||
| </tr></table> | ||||
| 
 | ||||
| @ -229,6 +246,14 @@ | ||||
|   </ul></td> | ||||
| </tr></table> | ||||
| 
 | ||||
| <h2 id="M">M</h2> | ||||
| <table style="width: 100%" class="indextable genindextable"><tr> | ||||
|   <td style="width: 33%; vertical-align: top;"><ul> | ||||
|       <li><a href="reference.html#RNS.Reticulum.MTU">MTU (RNS.Reticulum attribute)</a> | ||||
| </li> | ||||
|   </ul></td> | ||||
| </tr></table> | ||||
| 
 | ||||
| <h2 id="N">N</h2> | ||||
| <table style="width: 100%" class="indextable genindextable"><tr> | ||||
|   <td style="width: 33%; vertical-align: top;"><ul> | ||||
| @ -253,8 +278,6 @@ | ||||
|       <li><a href="reference.html#RNS.Transport.PATHFINDER_M">PATHFINDER_M (RNS.Transport attribute)</a> | ||||
| </li> | ||||
|       <li><a href="reference.html#RNS.Packet.PLAIN_MDU">PLAIN_MDU (RNS.Packet attribute)</a> | ||||
| </li> | ||||
|       <li><a href="reference.html#RNS.Resource.progress">progress() (RNS.Resource method)</a> | ||||
| </li> | ||||
|   </ul></td> | ||||
| </tr></table> | ||||
| @ -270,11 +293,13 @@ | ||||
| </li> | ||||
|       <li><a href="reference.html#RNS.Destination.register_request_handler">register_request_handler() (RNS.Destination method)</a> | ||||
| </li> | ||||
|   </ul></td> | ||||
|   <td style="width: 33%; vertical-align: top;"><ul> | ||||
|       <li><a href="reference.html#RNS.Link.request">request() (RNS.Link method)</a> | ||||
| </li> | ||||
|   </ul></td> | ||||
|   <td style="width: 33%; vertical-align: top;"><ul> | ||||
|       <li><a href="reference.html#RNS.Transport.request_path">request_path() (RNS.Transport static method)</a> | ||||
| </li> | ||||
|       <li><a href="reference.html#RNS.RequestReceipt">RequestReceipt (class in RNS)</a> | ||||
| </li> | ||||
|       <li><a href="reference.html#RNS.Packet.resend">resend() (RNS.Packet method)</a> | ||||
| </li> | ||||
| @ -391,7 +416,7 @@ | ||||
|         <li class="right" style="margin-right: 10px"> | ||||
|           <a href="#" title="General Index" | ||||
|              >index</a></li> | ||||
|         <li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.2.3 beta documentation</a> »</li> | ||||
|         <li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.2.4 beta documentation</a> »</li> | ||||
|         <li class="nav-item nav-item-this"><a href="">Index</a></li>  | ||||
|       </ul> | ||||
|     </div> | ||||
|  | ||||
| @ -5,7 +5,7 @@ | ||||
|   <head> | ||||
|     <meta charset="utf-8" /> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||
|     <title>Getting Started Fast — Reticulum Network Stack 0.2.3 beta documentation</title> | ||||
|     <title>Getting Started Fast — Reticulum Network Stack 0.2.4 beta documentation</title> | ||||
|     <link rel="stylesheet" type="text/css" href="_static/pygments.css" /> | ||||
|     <link rel="stylesheet" type="text/css" href="_static/classic.css" /> | ||||
|      | ||||
| @ -31,7 +31,7 @@ | ||||
|         <li class="right" > | ||||
|           <a href="whatis.html" title="What is Reticulum?" | ||||
|              accesskey="P">previous</a> |</li> | ||||
|         <li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.2.3 beta documentation</a> »</li> | ||||
|         <li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.2.4 beta documentation</a> »</li> | ||||
|         <li class="nav-item nav-item-this"><a href="">Getting Started Fast</a></li>  | ||||
|       </ul> | ||||
|     </div>   | ||||
| @ -166,7 +166,7 @@ don’t use pip, but try this recipe:</p> | ||||
|         <li class="right" > | ||||
|           <a href="whatis.html" title="What is Reticulum?" | ||||
|              >previous</a> |</li> | ||||
|         <li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.2.3 beta documentation</a> »</li> | ||||
|         <li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.2.4 beta documentation</a> »</li> | ||||
|         <li class="nav-item nav-item-this"><a href="">Getting Started Fast</a></li>  | ||||
|       </ul> | ||||
|     </div> | ||||
|  | ||||
| @ -5,7 +5,7 @@ | ||||
|   <head> | ||||
|     <meta charset="utf-8" /> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||
|     <title>Reticulum Network Stack Manual — Reticulum Network Stack 0.2.3 beta documentation</title> | ||||
|     <title>Reticulum Network Stack Manual — Reticulum Network Stack 0.2.4 beta documentation</title> | ||||
|     <link rel="stylesheet" type="text/css" href="_static/pygments.css" /> | ||||
|     <link rel="stylesheet" type="text/css" href="_static/classic.css" /> | ||||
|      | ||||
| @ -27,7 +27,7 @@ | ||||
|         <li class="right" > | ||||
|           <a href="whatis.html" title="What is Reticulum?" | ||||
|              accesskey="N">next</a> |</li> | ||||
|         <li class="nav-item nav-item-0"><a href="#">Reticulum Network Stack 0.2.3 beta documentation</a> »</li> | ||||
|         <li class="nav-item nav-item-0"><a href="#">Reticulum Network Stack 0.2.4 beta documentation</a> »</li> | ||||
|         <li class="nav-item nav-item-this"><a href="">Reticulum Network Stack Manual</a></li>  | ||||
|       </ul> | ||||
|     </div>   | ||||
| @ -91,6 +91,7 @@ the development of Reticulum itself.</p> | ||||
| <li class="toctree-l3"><a class="reference internal" href="reference.html#packet">Packet</a></li> | ||||
| <li class="toctree-l3"><a class="reference internal" href="reference.html#packet-receipt">Packet Receipt</a></li> | ||||
| <li class="toctree-l3"><a class="reference internal" href="reference.html#link">Link</a></li> | ||||
| <li class="toctree-l3"><a class="reference internal" href="reference.html#request-receipt">Request Receipt</a></li> | ||||
| <li class="toctree-l3"><a class="reference internal" href="reference.html#resource">Resource</a></li> | ||||
| <li class="toctree-l3"><a class="reference internal" href="reference.html#transport">Transport</a></li> | ||||
| </ul> | ||||
| @ -167,7 +168,7 @@ the development of Reticulum itself.</p> | ||||
|         <li class="right" > | ||||
|           <a href="whatis.html" title="What is Reticulum?" | ||||
|              >next</a> |</li> | ||||
|         <li class="nav-item nav-item-0"><a href="#">Reticulum Network Stack 0.2.3 beta documentation</a> »</li> | ||||
|         <li class="nav-item nav-item-0"><a href="#">Reticulum Network Stack 0.2.4 beta documentation</a> »</li> | ||||
|         <li class="nav-item nav-item-this"><a href="">Reticulum Network Stack Manual</a></li>  | ||||
|       </ul> | ||||
|     </div> | ||||
|  | ||||
										
											Binary file not shown.
										
									
								
							| @ -5,7 +5,7 @@ | ||||
|   <head> | ||||
|     <meta charset="utf-8" /> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||
|     <title>API Reference — Reticulum Network Stack 0.2.3 beta documentation</title> | ||||
|     <title>API Reference — Reticulum Network Stack 0.2.4 beta documentation</title> | ||||
|     <link rel="stylesheet" type="text/css" href="_static/pygments.css" /> | ||||
|     <link rel="stylesheet" type="text/css" href="_static/classic.css" /> | ||||
|      | ||||
| @ -31,7 +31,7 @@ | ||||
|         <li class="right" > | ||||
|           <a href="understanding.html" title="Understanding Reticulum" | ||||
|              accesskey="P">previous</a> |</li> | ||||
|         <li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.2.3 beta documentation</a> »</li> | ||||
|         <li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.2.4 beta documentation</a> »</li> | ||||
|         <li class="nav-item nav-item-this"><a href="">API Reference</a></li>  | ||||
|       </ul> | ||||
|     </div>   | ||||
| @ -72,6 +72,18 @@ terminated (unless killed forcibly).</p> | ||||
| programs that use RNS starting and terminating at different times, | ||||
| it will be advantageous to run a master RNS instance as a daemon for | ||||
| other programs to use on demand.</p> | ||||
| <dl class="py attribute"> | ||||
| <dt class="sig sig-object py" id="RNS.Reticulum.MTU"> | ||||
| <span class="sig-name descname"><span class="pre">MTU</span></span><em class="property"> <span class="pre">=</span> <span class="pre">500</span></em><a class="headerlink" href="#RNS.Reticulum.MTU" title="Permalink to this definition">¶</a></dt> | ||||
| <dd><p>The MTU that Reticulum adheres to, and will expect other peers to | ||||
| adhere to. By default, the MTU is 500 bytes. In custom RNS network | ||||
| implementations, it is possible to change this value, but doing so will | ||||
| completely break compatibility with all other RNS networks. An identical | ||||
| MTU is a prerequisite for peers to communicate in the same network.</p> | ||||
| <p>Unless you really know what you are doing, the MTU should be left at | ||||
| the default value.</p> | ||||
| </dd></dl> | ||||
| 
 | ||||
| <dl class="py method"> | ||||
| <dt class="sig sig-object py" id="RNS.Reticulum.should_allow_unencrypted"> | ||||
| <em class="property"><span class="pre">static</span> </em><span class="sig-name descname"><span class="pre">should_allow_unencrypted</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#RNS.Reticulum.should_allow_unencrypted" title="Permalink to this definition">¶</a></dt> | ||||
| @ -215,6 +227,21 @@ for addressable hashes and other purposes. Non-configurable.</p> | ||||
| </dl> | ||||
| </dd></dl> | ||||
| 
 | ||||
| <dl class="py method"> | ||||
| <dt class="sig sig-object py" id="RNS.Identity.from_bytes"> | ||||
| <em class="property"><span class="pre">static</span> </em><span class="sig-name descname"><span class="pre">from_bytes</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prv_bytes</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#RNS.Identity.from_bytes" title="Permalink to this definition">¶</a></dt> | ||||
| <dd><p>Create a new <a class="reference internal" href="#api-identity"><span class="std std-ref">RNS.Identity</span></a> instance from <em>bytes</em> of private key. | ||||
| Can be used to load previously created and saved identities into Reticulum.</p> | ||||
| <dl class="field-list simple"> | ||||
| <dt class="field-odd">Parameters</dt> | ||||
| <dd class="field-odd"><p><strong>prv_bytes</strong> – The <em>bytes</em> of private a saved private key. <strong>HAZARD!</strong> Never use this to generate a new key by feeding random data in prv_bytes.</p> | ||||
| </dd> | ||||
| <dt class="field-even">Returns</dt> | ||||
| <dd class="field-even"><p>A <a class="reference internal" href="#api-identity"><span class="std std-ref">RNS.Identity</span></a> instance, or <em>None</em> if the <em>bytes</em> data was invalid.</p> | ||||
| </dd> | ||||
| </dl> | ||||
| </dd></dl> | ||||
| 
 | ||||
| <dl class="py method"> | ||||
| <dt class="sig sig-object py" id="RNS.Identity.from_file"> | ||||
| <em class="property"><span class="pre">static</span> </em><span class="sig-name descname"><span class="pre">from_file</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">path</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#RNS.Identity.from_file" title="Permalink to this definition">¶</a></dt> | ||||
| @ -246,21 +273,6 @@ communication for the identity. Be very careful with this method.</p> | ||||
| </dl> | ||||
| </dd></dl> | ||||
| 
 | ||||
| <dl class="py method"> | ||||
| <dt class="sig sig-object py" id="RNS.Identity.from_bytes"> | ||||
| <em class="property"><span class="pre">static</span> </em><span class="sig-name descname"><span class="pre">from_bytes</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prv_bytes</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#RNS.Identity.from_bytes" title="Permalink to this definition">¶</a></dt> | ||||
| <dd><p>Create a new <a class="reference internal" href="#api-identity"><span class="std std-ref">RNS.Identity</span></a> instance from <em>bytes</em> of private key. | ||||
| Can be used to load previously created and saved identities into Reticulum.</p> | ||||
| <dl class="field-list simple"> | ||||
| <dt class="field-odd">Parameters</dt> | ||||
| <dd class="field-odd"><p><strong>prv_bytes</strong> – The <em>bytes</em> of private a saved private key. <strong>HAZARD!</strong> Never not use this to generate a new key by feeding random data in prv_bytes.</p> | ||||
| </dd> | ||||
| <dt class="field-even">Returns</dt> | ||||
| <dd class="field-even"><p>A <a class="reference internal" href="#api-identity"><span class="std std-ref">RNS.Identity</span></a> instance, or <em>None</em> if the <em>bytes</em> data was invalid.</p> | ||||
| </dd> | ||||
| </dl> | ||||
| </dd></dl> | ||||
| 
 | ||||
| <dl class="py method"> | ||||
| <dt class="sig sig-object py" id="RNS.Identity.get_private_key"> | ||||
| <span class="sig-name descname"><span class="pre">get_private_key</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#RNS.Identity.get_private_key" title="Permalink to this definition">¶</a></dt> | ||||
| @ -645,7 +657,7 @@ unless other app_data is specified in the <em>announce</em> method.</p> | ||||
| <span id="api-packet"></span><h3>Packet<a class="headerlink" href="#packet" title="Permalink to this headline">¶</a></h3> | ||||
| <dl class="py class"> | ||||
| <dt class="sig sig-object py" id="RNS.Packet"> | ||||
| <em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">RNS.</span></span><span class="sig-name descname"><span class="pre">Packet</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">destination</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">packet_type</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">context</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">transport_type</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">header_type</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">transport_id</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">attached_interface</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">create_receipt</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#RNS.Packet" title="Permalink to this definition">¶</a></dt> | ||||
| <em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">RNS.</span></span><span class="sig-name descname"><span class="pre">Packet</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">destination</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">create_receipt</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#RNS.Packet" title="Permalink to this definition">¶</a></dt> | ||||
| <dd><p>The Packet class is used to create packet instances that can be sent | ||||
| over a Reticulum network. Packets to will automatically be encrypted if | ||||
| they are adressed to a <code class="docutils literal notranslate"><span class="pre">RNS.Destination.SINGLE</span></code> destination, | ||||
| @ -660,11 +672,6 @@ destinations, reticulum will use ephemeral keys, and offers <strong>Forward Secr | ||||
| <li><p><strong>destination</strong> – A <a class="reference internal" href="#api-destination"><span class="std std-ref">RNS.Destination</span></a> instance to which the packet will be sent.</p></li> | ||||
| <li><p><strong>data</strong> – The data payload to be included in the packet as <em>bytes</em>.</p></li> | ||||
| <li><p><strong>create_receipt</strong> – Specifies whether a <a class="reference internal" href="#api-packetreceipt"><span class="std std-ref">RNS.PacketReceipt</span></a> should be created when instantiating the packet.</p></li> | ||||
| <li><p><strong>type</strong> – Internal use by <a class="reference internal" href="#api-transport"><span class="std std-ref">RNS.Transport</span></a>. Defaults to <code class="docutils literal notranslate"><span class="pre">RNS.Packet.DATA</span></code>, and should not be specified.</p></li> | ||||
| <li><p><strong>context</strong> – Internal use by <a class="reference internal" href="#api-transport"><span class="std std-ref">RNS.Transport</span></a>. Ignore.</p></li> | ||||
| <li><p><strong>transport_type</strong> – Internal use by <a class="reference internal" href="#api-transport"><span class="std std-ref">RNS.Transport</span></a>. Ignore.</p></li> | ||||
| <li><p><strong>transport_id</strong> – Internal use by <a class="reference internal" href="#api-transport"><span class="std std-ref">RNS.Transport</span></a>. Ignore.</p></li> | ||||
| <li><p><strong>attached_interface</strong> – Internal use by <a class="reference internal" href="#api-transport"><span class="std std-ref">RNS.Transport</span></a>. Ignore.</p></li> | ||||
| </ul> | ||||
| </dd> | ||||
| </dl> | ||||
| @ -709,11 +716,11 @@ destinations, reticulum will use ephemeral keys, and offers <strong>Forward Secr | ||||
| <span id="api-packetreceipt"></span><h3>Packet Receipt<a class="headerlink" href="#packet-receipt" title="Permalink to this headline">¶</a></h3> | ||||
| <dl class="py class"> | ||||
| <dt class="sig sig-object py" id="RNS.PacketReceipt"> | ||||
| <em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">RNS.</span></span><span class="sig-name descname"><span class="pre">PacketReceipt</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">packet</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#RNS.PacketReceipt" title="Permalink to this definition">¶</a></dt> | ||||
| <em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">RNS.</span></span><span class="sig-name descname"><span class="pre">PacketReceipt</span></span><a class="headerlink" href="#RNS.PacketReceipt" title="Permalink to this definition">¶</a></dt> | ||||
| <dd><p>The PacketReceipt class is used to receive notifications about | ||||
| <a class="reference internal" href="#api-packet"><span class="std std-ref">RNS.Packet</span></a> instances sent over the network. Instances | ||||
| of this class should never be created manually, but always returned | ||||
| from a the <em>send()</em> method of a <a class="reference internal" href="#api-packet"><span class="std std-ref">RNS.Packet</span></a> instance.</p> | ||||
| of this class are never created manually, but always returned from | ||||
| the <em>send()</em> method of a <a class="reference internal" href="#api-packet"><span class="std std-ref">RNS.Packet</span></a> instance.</p> | ||||
| <dl class="py method"> | ||||
| <dt class="sig sig-object py" id="RNS.PacketReceipt.get_status"> | ||||
| <span class="sig-name descname"><span class="pre">get_status</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#RNS.PacketReceipt.get_status" title="Permalink to this definition">¶</a></dt> | ||||
| @ -774,17 +781,16 @@ from a the <em>send()</em> method of a <a class="reference internal" href="#api- | ||||
| <span id="api-link"></span><h3>Link<a class="headerlink" href="#link" title="Permalink to this headline">¶</a></h3> | ||||
| <dl class="py class"> | ||||
| <dt class="sig sig-object py" id="RNS.Link"> | ||||
| <em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">RNS.</span></span><span class="sig-name descname"><span class="pre">Link</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">destination</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">established_callback</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">closed_callback</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">owner</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">peer_pub_bytes</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">peer_sig_pub_bytes</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#RNS.Link" title="Permalink to this definition">¶</a></dt> | ||||
| <dd><p>This class.</p> | ||||
| <em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">RNS.</span></span><span class="sig-name descname"><span class="pre">Link</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">destination</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">established_callback</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">closed_callback</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#RNS.Link" title="Permalink to this definition">¶</a></dt> | ||||
| <dd><p>This class is used to establish and manage links to other peers. When a | ||||
| link instance is created, Reticulum will attempt to establish verified | ||||
| connectivity with the specified destination.</p> | ||||
| <dl class="field-list simple"> | ||||
| <dt class="field-odd">Parameters</dt> | ||||
| <dd class="field-odd"><ul class="simple"> | ||||
| <li><p><strong>destination</strong> – A <a class="reference internal" href="#api-destination"><span class="std std-ref">RNS.Destination</span></a> instance which to establish a link to.</p></li> | ||||
| <li><p><strong>established_callback</strong> – A function or method with the signature <em>callback(link)</em> to be called when the link has been established.</p></li> | ||||
| <li><p><strong>closed_callback</strong> – A function or method with the signature <em>callback(link)</em> to be called when the link is closed.</p></li> | ||||
| <li><p><strong>owner</strong> – Internal use by <a class="reference internal" href="#api-transport"><span class="std std-ref">RNS.Transport</span></a>, ignore this argument.</p></li> | ||||
| <li><p><strong>peer_pub_bytes</strong> – Internal use, ignore this argument.</p></li> | ||||
| <li><p><strong>peer_sig_pub_bytes</strong> – Internal use, ignore this argument.</p></li> | ||||
| <li><p><strong>established_callback</strong> – An optional function or method with the signature <em>callback(link)</em> to be called when the link has been established.</p></li> | ||||
| <li><p><strong>closed_callback</strong> – An optional function or method with the signature <em>callback(link)</em> to be called when the link is closed.</p></li> | ||||
| </ul> | ||||
| </dd> | ||||
| </dl> | ||||
| @ -834,6 +840,9 @@ thus preserved. This method can be used for authentication.</p> | ||||
| <li><p><strong>timeout</strong> – An optional timeout in seconds for the request. If <em>None</em> is supplied it will be calculated based on link RTT.</p></li> | ||||
| </ul> | ||||
| </dd> | ||||
| <dt class="field-even">Returns</dt> | ||||
| <dd class="field-even"><p>A <a class="reference internal" href="#api-requestreceipt"><span class="std std-ref">RNS.RequestReceipt</span></a> instance if the request was sent, or <em>False</em> if it was not.</p> | ||||
| </dd> | ||||
| </dl> | ||||
| </dd></dl> | ||||
| 
 | ||||
| @ -974,12 +983,73 @@ client application and throw an error message to the user.</p> | ||||
| 
 | ||||
| </dd></dl> | ||||
| 
 | ||||
| </div> | ||||
| <div class="section" id="request-receipt"> | ||||
| <span id="api-requestreceipt"></span><h3>Request Receipt<a class="headerlink" href="#request-receipt" title="Permalink to this headline">¶</a></h3> | ||||
| <dl class="py class"> | ||||
| <dt class="sig sig-object py" id="RNS.RequestReceipt"> | ||||
| <em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">RNS.</span></span><span class="sig-name descname"><span class="pre">RequestReceipt</span></span><a class="headerlink" href="#RNS.RequestReceipt" title="Permalink to this definition">¶</a></dt> | ||||
| <dd><p>An instance of this class is returned by the <code class="docutils literal notranslate"><span class="pre">request</span></code> method of <code class="docutils literal notranslate"><span class="pre">RNS.Link</span></code> | ||||
| instances. It should never be instantiated manually. It provides methods to | ||||
| check status, response time and response data when the request concludes.</p> | ||||
| <dl class="py method"> | ||||
| <dt class="sig sig-object py" id="RNS.RequestReceipt.get_request_id"> | ||||
| <span class="sig-name descname"><span class="pre">get_request_id</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#RNS.RequestReceipt.get_request_id" title="Permalink to this definition">¶</a></dt> | ||||
| <dd><dl class="field-list simple"> | ||||
| <dt class="field-odd">Returns</dt> | ||||
| <dd class="field-odd"><p>The request ID as <em>bytes</em>.</p> | ||||
| </dd> | ||||
| </dl> | ||||
| </dd></dl> | ||||
| 
 | ||||
| <dl class="py method"> | ||||
| <dt class="sig sig-object py" id="RNS.RequestReceipt.get_status"> | ||||
| <span class="sig-name descname"><span class="pre">get_status</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#RNS.RequestReceipt.get_status" title="Permalink to this definition">¶</a></dt> | ||||
| <dd><dl class="field-list simple"> | ||||
| <dt class="field-odd">Returns</dt> | ||||
| <dd class="field-odd"><p>The current status of the request, one of <code class="docutils literal notranslate"><span class="pre">RNS.RequestReceipt.FAILED</span></code>, <code class="docutils literal notranslate"><span class="pre">RNS.RequestReceipt.SENT</span></code>, <code class="docutils literal notranslate"><span class="pre">RNS.RequestReceipt.DELIVERED</span></code>, <code class="docutils literal notranslate"><span class="pre">RNS.RequestReceipt.READY</span></code>.</p> | ||||
| </dd> | ||||
| </dl> | ||||
| </dd></dl> | ||||
| 
 | ||||
| <dl class="py method"> | ||||
| <dt class="sig sig-object py" id="RNS.RequestReceipt.get_progress"> | ||||
| <span class="sig-name descname"><span class="pre">get_progress</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#RNS.RequestReceipt.get_progress" title="Permalink to this definition">¶</a></dt> | ||||
| <dd><dl class="field-list simple"> | ||||
| <dt class="field-odd">Returns</dt> | ||||
| <dd class="field-odd"><p>The progress of a response being received as a <em>float</em> between 0.0 and 1.0.</p> | ||||
| </dd> | ||||
| </dl> | ||||
| </dd></dl> | ||||
| 
 | ||||
| <dl class="py method"> | ||||
| <dt class="sig sig-object py" id="RNS.RequestReceipt.get_response"> | ||||
| <span class="sig-name descname"><span class="pre">get_response</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#RNS.RequestReceipt.get_response" title="Permalink to this definition">¶</a></dt> | ||||
| <dd><dl class="field-list simple"> | ||||
| <dt class="field-odd">Returns</dt> | ||||
| <dd class="field-odd"><p>The response as <em>bytes</em> if it is ready, otherwise <em>None</em>.</p> | ||||
| </dd> | ||||
| </dl> | ||||
| </dd></dl> | ||||
| 
 | ||||
| <dl class="py method"> | ||||
| <dt class="sig sig-object py" id="RNS.RequestReceipt.get_response_time"> | ||||
| <span class="sig-name descname"><span class="pre">get_response_time</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#RNS.RequestReceipt.get_response_time" title="Permalink to this definition">¶</a></dt> | ||||
| <dd><dl class="field-list simple"> | ||||
| <dt class="field-odd">Returns</dt> | ||||
| <dd class="field-odd"><p>The response time of the request in seconds.</p> | ||||
| </dd> | ||||
| </dl> | ||||
| </dd></dl> | ||||
| 
 | ||||
| </dd></dl> | ||||
| 
 | ||||
| </div> | ||||
| <div class="section" id="resource"> | ||||
| <span id="api-resource"></span><h3>Resource<a class="headerlink" href="#resource" title="Permalink to this headline">¶</a></h3> | ||||
| <dl class="py class"> | ||||
| <dt class="sig sig-object py" id="RNS.Resource"> | ||||
| <em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">RNS.</span></span><span class="sig-name descname"><span class="pre">Resource</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">link</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">advertise</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">auto_compress</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">callback</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">progress_callback</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timeout</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">segment_index</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">original_hash</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">request_id</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_response</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#RNS.Resource" title="Permalink to this definition">¶</a></dt> | ||||
| <em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">RNS.</span></span><span class="sig-name descname"><span class="pre">Resource</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">link</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">advertise</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">auto_compress</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">callback</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">progress_callback</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timeout</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#RNS.Resource" title="Permalink to this definition">¶</a></dt> | ||||
| <dd><p>The Resource class allows transferring arbitrary amounts | ||||
| of data over a link. It will automatically handle sequencing, | ||||
| compression, coordination and checksumming.</p> | ||||
| @ -988,14 +1058,10 @@ compression, coordination and checksumming.</p> | ||||
| <dd class="field-odd"><ul class="simple"> | ||||
| <li><p><strong>data</strong> – The data to be transferred. Can be <em>bytes</em> or an open <em>file handle</em>. See the <a class="reference internal" href="examples.html#example-filetransfer"><span class="std std-ref">Filetransfer Example</span></a> for details.</p></li> | ||||
| <li><p><strong>link</strong> – The <a class="reference internal" href="#api-link"><span class="std std-ref">RNS.Link</span></a> instance on which to transfer the data.</p></li> | ||||
| <li><p><strong>advertise</strong> – Whether to automatically advertise the resource. Can be <em>True</em> or <em>False</em>.</p></li> | ||||
| <li><p><strong>auto_compress</strong> – Whether to auto-compress the resource. Can be <em>True</em> or <em>False</em>.</p></li> | ||||
| <li><p><strong>callback</strong> – A <em>callable</em> with the signature <em>callback(resource)</em>. Will be called when the resource transfer concludes.</p></li> | ||||
| <li><p><strong>progress_callback</strong> – A <em>callable</em> with the signature <em>callback(resource)</em>. Will be called whenever the resource transfer progress is updated.</p></li> | ||||
| <li><p><strong>segment_index</strong> – Internal use, ignore.</p></li> | ||||
| <li><p><strong>original_hash</strong> – Internal use, ignore.</p></li> | ||||
| <li><p><strong>is_request</strong> – Internal use, ignore.</p></li> | ||||
| <li><p><strong>is_response</strong> – Internal use, ignore.</p></li> | ||||
| <li><p><strong>advertise</strong> – Optional. Whether to automatically advertise the resource. Can be <em>True</em> or <em>False</em>.</p></li> | ||||
| <li><p><strong>auto_compress</strong> – Optional. Whether to auto-compress the resource. Can be <em>True</em> or <em>False</em>.</p></li> | ||||
| <li><p><strong>callback</strong> – An optional <em>callable</em> with the signature <em>callback(resource)</em>. Will be called when the resource transfer concludes.</p></li> | ||||
| <li><p><strong>progress_callback</strong> – An optional <em>callable</em> with the signature <em>callback(resource)</em>. Will be called whenever the resource transfer progress is updated.</p></li> | ||||
| </ul> | ||||
| </dd> | ||||
| </dl> | ||||
| @ -1013,8 +1079,8 @@ the resource advertisement it will begin transferring.</p> | ||||
| </dd></dl> | ||||
| 
 | ||||
| <dl class="py method"> | ||||
| <dt class="sig sig-object py" id="RNS.Resource.progress"> | ||||
| <span class="sig-name descname"><span class="pre">progress</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#RNS.Resource.progress" title="Permalink to this definition">¶</a></dt> | ||||
| <dt class="sig sig-object py" id="RNS.Resource.get_progress"> | ||||
| <span class="sig-name descname"><span class="pre">get_progress</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#RNS.Resource.get_progress" title="Permalink to this definition">¶</a></dt> | ||||
| <dd><dl class="field-list simple"> | ||||
| <dt class="field-odd">Returns</dt> | ||||
| <dd class="field-odd"><p>The current progress of the resource transfer as a <em>float</em> between 0.0 and 1.0.</p> | ||||
| @ -1030,7 +1096,9 @@ the resource advertisement it will begin transferring.</p> | ||||
| <dl class="py class"> | ||||
| <dt class="sig sig-object py" id="RNS.Transport"> | ||||
| <em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">RNS.</span></span><span class="sig-name descname"><span class="pre">Transport</span></span><a class="headerlink" href="#RNS.Transport" title="Permalink to this definition">¶</a></dt> | ||||
| <dd><dl class="py attribute"> | ||||
| <dd><p>Through static methods of this class you can interact with Reticulums | ||||
| Transport system.</p> | ||||
| <dl class="py attribute"> | ||||
| <dt class="sig sig-object py" id="RNS.Transport.PATHFINDER_M"> | ||||
| <span class="sig-name descname"><span class="pre">PATHFINDER_M</span></span><em class="property"> <span class="pre">=</span> <span class="pre">128</span></em><a class="headerlink" href="#RNS.Transport.PATHFINDER_M" title="Permalink to this definition">¶</a></dt> | ||||
| <dd><p>Maximum amount of hops that Reticulum will transport a packet.</p> | ||||
| @ -1120,6 +1188,7 @@ will announce it.</p> | ||||
| <li><a class="reference internal" href="#packet">Packet</a></li> | ||||
| <li><a class="reference internal" href="#packet-receipt">Packet Receipt</a></li> | ||||
| <li><a class="reference internal" href="#link">Link</a></li> | ||||
| <li><a class="reference internal" href="#request-receipt">Request Receipt</a></li> | ||||
| <li><a class="reference internal" href="#resource">Resource</a></li> | ||||
| <li><a class="reference internal" href="#transport">Transport</a></li> | ||||
| </ul> | ||||
| @ -1167,7 +1236,7 @@ will announce it.</p> | ||||
|         <li class="right" > | ||||
|           <a href="understanding.html" title="Understanding Reticulum" | ||||
|              >previous</a> |</li> | ||||
|         <li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.2.3 beta documentation</a> »</li> | ||||
|         <li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.2.4 beta documentation</a> »</li> | ||||
|         <li class="nav-item nav-item-this"><a href="">API Reference</a></li>  | ||||
|       </ul> | ||||
|     </div> | ||||
|  | ||||
| @ -5,7 +5,7 @@ | ||||
|   <head> | ||||
|     <meta charset="utf-8" /> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||
|     <title>Search — Reticulum Network Stack 0.2.3 beta documentation</title> | ||||
|     <title>Search — Reticulum Network Stack 0.2.4 beta documentation</title> | ||||
|     <link rel="stylesheet" type="text/css" href="_static/pygments.css" /> | ||||
|     <link rel="stylesheet" type="text/css" href="_static/classic.css" /> | ||||
|      | ||||
| @ -29,7 +29,7 @@ | ||||
|         <li class="right" style="margin-right: 10px"> | ||||
|           <a href="genindex.html" title="General Index" | ||||
|              accesskey="I">index</a></li> | ||||
|         <li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.2.3 beta documentation</a> »</li> | ||||
|         <li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.2.4 beta documentation</a> »</li> | ||||
|         <li class="nav-item nav-item-this"><a href="">Search</a></li>  | ||||
|       </ul> | ||||
|     </div>   | ||||
| @ -85,7 +85,7 @@ | ||||
|         <li class="right" style="margin-right: 10px"> | ||||
|           <a href="genindex.html" title="General Index" | ||||
|              >index</a></li> | ||||
|         <li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.2.3 beta documentation</a> »</li> | ||||
|         <li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.2.4 beta documentation</a> »</li> | ||||
|         <li class="nav-item nav-item-this"><a href="">Search</a></li>  | ||||
|       </ul> | ||||
|     </div> | ||||
|  | ||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @ -5,7 +5,7 @@ | ||||
|   <head> | ||||
|     <meta charset="utf-8" /> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||
|     <title>Understanding Reticulum — Reticulum Network Stack 0.2.3 beta documentation</title> | ||||
|     <title>Understanding Reticulum — Reticulum Network Stack 0.2.4 beta documentation</title> | ||||
|     <link rel="stylesheet" type="text/css" href="_static/pygments.css" /> | ||||
|     <link rel="stylesheet" type="text/css" href="_static/classic.css" /> | ||||
|      | ||||
| @ -31,7 +31,7 @@ | ||||
|         <li class="right" > | ||||
|           <a href="gettingstartedfast.html" title="Getting Started Fast" | ||||
|              accesskey="P">previous</a> |</li> | ||||
|         <li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.2.3 beta documentation</a> »</li> | ||||
|         <li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.2.4 beta documentation</a> »</li> | ||||
|         <li class="nav-item nav-item-this"><a href="">Understanding Reticulum</a></li>  | ||||
|       </ul> | ||||
|     </div>   | ||||
| @ -490,7 +490,7 @@ At the same time we establish an efficient encrypted channel. The setup of this | ||||
| terms of bandwidth, so it can be used just for a short exchange, and then recreated as needed, which will | ||||
| also rotate encryption keys. The link can also be kept alive for longer periods of time, if this is | ||||
| more suitable to the application. The procedure also inserts the <em>link id</em> , a hash calculated from the link request packet, into the memory of forwarding nodes, which means that the communicating nodes can thereafter reach each other simply by referring to this <em>link id</em>.</p> | ||||
| <p>The combined bandwidth cost of setting up a link is 3 packets totalling 240 bytes (more info in the | ||||
| <p>The combined bandwidth cost of setting up a link is 3 packets totalling 237 bytes (more info in the | ||||
| <a class="reference internal" href="#understanding-packetformat"><span class="std std-ref">Binary Packet Format</span></a> section). The amount of bandwidth used on keeping | ||||
| a link open is practically negligible, at 0.62 bits per second. Even on a slow 1200 bits per second packet | ||||
| radio channel, 100 concurrent links will still leave 95% channel capacity for actual data.</p> | ||||
| @ -764,7 +764,7 @@ proof           11 | ||||
|  - Announce        :    151 bytes | ||||
|  - Link Request    :    77  bytes | ||||
|  - Link Proof      :    77  bytes | ||||
|  - Link RTT packet :    86  bytes | ||||
|  - Link RTT packet :    83  bytes | ||||
|  - Link keepalive  :    14  bytes | ||||
| </pre></div> | ||||
| </div> | ||||
| @ -853,7 +853,7 @@ proof           11 | ||||
|         <li class="right" > | ||||
|           <a href="gettingstartedfast.html" title="Getting Started Fast" | ||||
|              >previous</a> |</li> | ||||
|         <li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.2.3 beta documentation</a> »</li> | ||||
|         <li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.2.4 beta documentation</a> »</li> | ||||
|         <li class="nav-item nav-item-this"><a href="">Understanding Reticulum</a></li>  | ||||
|       </ul> | ||||
|     </div> | ||||
|  | ||||
| @ -5,7 +5,7 @@ | ||||
|   <head> | ||||
|     <meta charset="utf-8" /> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||
|     <title>What is Reticulum? — Reticulum Network Stack 0.2.3 beta documentation</title> | ||||
|     <title>What is Reticulum? — Reticulum Network Stack 0.2.4 beta documentation</title> | ||||
|     <link rel="stylesheet" type="text/css" href="_static/pygments.css" /> | ||||
|     <link rel="stylesheet" type="text/css" href="_static/classic.css" /> | ||||
|      | ||||
| @ -31,7 +31,7 @@ | ||||
|         <li class="right" > | ||||
|           <a href="index.html" title="Reticulum Network Stack Manual" | ||||
|              accesskey="P">previous</a> |</li> | ||||
|         <li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.2.3 beta documentation</a> »</li> | ||||
|         <li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.2.4 beta documentation</a> »</li> | ||||
|         <li class="nav-item nav-item-this"><a href="">What is Reticulum?</a></li>  | ||||
|       </ul> | ||||
|     </div>   | ||||
| @ -82,7 +82,7 @@ | ||||
| </li> | ||||
| <li><p>Efficient link establishment</p> | ||||
| <ul> | ||||
| <li><p>Total bandwidth cost of setting up a link is only 3 packets, totalling 240 bytes</p></li> | ||||
| <li><p>Total bandwidth cost of setting up a link is only 3 packets, totalling 237 bytes</p></li> | ||||
| <li><p>Low cost of keeping links open at only 0.62 bits per second</p></li> | ||||
| </ul> | ||||
| </li> | ||||
| @ -182,7 +182,7 @@ network, and vice versa.</p> | ||||
|         <li class="right" > | ||||
|           <a href="index.html" title="Reticulum Network Stack Manual" | ||||
|              >previous</a> |</li> | ||||
|         <li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.2.3 beta documentation</a> »</li> | ||||
|         <li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.2.4 beta documentation</a> »</li> | ||||
|         <li class="nav-item nav-item-this"><a href="">What is Reticulum?</a></li>  | ||||
|       </ul> | ||||
|     </div> | ||||
|  | ||||
| @ -22,7 +22,7 @@ copyright = '2021, Mark Qvist' | ||||
| author = 'Mark Qvist' | ||||
| 
 | ||||
| # The full version, including alpha/beta/rc tags | ||||
| release = '0.2.3 beta' | ||||
| release = '0.2.4 beta' | ||||
| 
 | ||||
| 
 | ||||
| # -- General configuration --------------------------------------------------- | ||||
|  | ||||
| @ -39,7 +39,7 @@ Destination | ||||
| Packet | ||||
| ------ | ||||
| 
 | ||||
| .. autoclass:: RNS.Packet | ||||
| .. autoclass:: RNS.Packet(destination, data, create_receipt = True) | ||||
|    :members: | ||||
| 
 | ||||
| .. _api-packetreceipt: | ||||
| @ -47,7 +47,7 @@ Packet | ||||
| Packet Receipt | ||||
| -------------- | ||||
| 
 | ||||
| .. autoclass:: RNS.PacketReceipt | ||||
| .. autoclass:: RNS.PacketReceipt() | ||||
|    :members: | ||||
| 
 | ||||
| .. _api-link: | ||||
| @ -55,7 +55,15 @@ Packet Receipt | ||||
| Link | ||||
| ---- | ||||
| 
 | ||||
| .. autoclass:: RNS.Link | ||||
| .. autoclass:: RNS.Link(destination, established_callback=None, closed_callback = None) | ||||
|    :members: | ||||
| 
 | ||||
| .. _api-requestreceipt: | ||||
| 
 | ||||
| Request Receipt | ||||
| --------------- | ||||
| 
 | ||||
| .. autoclass:: RNS.RequestReceipt() | ||||
|    :members: | ||||
| 
 | ||||
| .. _api-resource: | ||||
| @ -63,7 +71,7 @@ Link | ||||
| Resource | ||||
| -------- | ||||
| 
 | ||||
| .. autoclass:: RNS.Resource | ||||
| .. autoclass:: RNS.Resource(data, link, advertise=True, auto_compress=True, callback=None, progress_callback=None, timeout=None) | ||||
|    :members: | ||||
| 
 | ||||
| .. _api-transport: | ||||
|  | ||||
| @ -429,7 +429,7 @@ terms of bandwidth, so it can be used just for a short exchange, and then recrea | ||||
| also rotate encryption keys. The link can also be kept alive for longer periods of time, if this is | ||||
| more suitable to the application. The procedure also inserts the *link id* , a hash calculated from the link request packet, into the memory of forwarding nodes, which means that the communicating nodes can thereafter reach each other simply by referring to this *link id*. | ||||
| 
 | ||||
| The combined bandwidth cost of setting up a link is 3 packets totalling 240 bytes (more info in the | ||||
| The combined bandwidth cost of setting up a link is 3 packets totalling 237 bytes (more info in the | ||||
| :ref:`Binary Packet Format<understanding-packetformat>` section). The amount of bandwidth used on keeping | ||||
| a link open is practically negligible, at 0.62 bits per second. Even on a slow 1200 bits per second packet | ||||
| radio channel, 100 concurrent links will still leave 95% channel capacity for actual data. | ||||
| @ -701,5 +701,5 @@ Binary Packet Format | ||||
|      - Announce        :    151 bytes | ||||
|      - Link Request    :    77  bytes | ||||
|      - Link Proof      :    77  bytes | ||||
|      - Link RTT packet :    86  bytes | ||||
|      - Link RTT packet :    83  bytes | ||||
|      - Link keepalive  :    14  bytes | ||||
| @ -57,7 +57,7 @@ What does Reticulum Offer? | ||||
| 
 | ||||
| * Efficient link establishment | ||||
| 
 | ||||
|   * Total bandwidth cost of setting up a link is only 3 packets, totalling 240 bytes | ||||
|   * Total bandwidth cost of setting up a link is only 3 packets, totalling 237 bytes | ||||
| 
 | ||||
|   * Low cost of keeping links open at only 0.62 bits per second | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user