<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Introduction to nyssr.net on sillysky.net</title>
    <link>https://sillysky.net/docs/nyssr/basics/</link>
    <description>Recent content in Introduction to nyssr.net on sillysky.net</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Tue, 14 Oct 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://sillysky.net/docs/nyssr/basics/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Messages</title>
      <link>https://sillysky.net/docs/nyssr/basics/messages/</link>
      <pubDate>Tue, 14 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://sillysky.net/docs/nyssr/basics/messages/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://sillysky.net/images/LigneClaire/doc/Messages.webp&#34; alt=&#34;Messages&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Messages in nyssr.net are &lt;strong&gt;asynchronous and object-to-object&lt;/strong&gt;. A target waits for incoming messages, processes them, and can send further messages without blocking the rest of the network.&lt;/p&gt;&#xA;&lt;p&gt;This simple mechanism supports observers, notifications, services, broadcasts, requests, and responses.&lt;/p&gt;&#xA;&lt;h2 id=&#34;request-and-response&#34;&gt;Request and response&lt;/h2&gt;&#xA;&lt;p&gt;A message travels from a sender to a receiver. Both addresses are carried in the envelope. When the sender wants an answer, it sets the &lt;code&gt;wantAnswer&lt;/code&gt; flag. The receiver can then return a response after processing the request.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Namespaces</title>
      <link>https://sillysky.net/docs/nyssr/basics/namespaces/</link>
      <pubDate>Tue, 14 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://sillysky.net/docs/nyssr/basics/namespaces/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://sillysky.net/images/LigneClaire/doc/Namespaces.webp&#34; alt=&#34;Namespaces&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Namespaces are components of &lt;a href=&#34;https://sillysky.net/docs/nyssr/basics/node/&#34;&gt;Nodes&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Each &lt;a href=&#34;https://sillysky.net/docs/nyssr/namespaces/inamespace/&#34;&gt;namespace&lt;/a&gt; has at least one thread, exactly one &lt;a href=&#34;https://sillysky.net/docs/nyssr/namespaces/targets/itargetregistry/&#34;&gt;target registry&lt;/a&gt;, and exactly one &lt;a href=&#34;https://sillysky.net/docs/nyssr/namespaces/nanoservices/inanoserviceregistry/&#34;&gt;nano service registry&lt;/a&gt;. They are&#xA;the basis of applications, since applications with all their targets and local&#xA;services must be executed multiple times and simultaneously in a&#xA;&lt;a href=&#34;https://sillysky.net/docs/nyssr/basics/node/&#34;&gt;node&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;target-registries&#34;&gt;Target Registries&lt;/h2&gt;&#xA;&lt;p&gt;Namespaces have a &lt;a href=&#34;https://sillysky.net/docs/nyssr/namespaces/targets/itargetregistry/&#34;&gt;Target-Registry&lt;/a&gt;. &lt;a href=&#34;https://sillysky.net/docs/nyssr/basics/targets/&#34;&gt;Targets&lt;/a&gt; - the Java&#xA;objects that can receive messages - are registered in these target registries.&#xA;During registration, the targets are given a unique address. The namespace ID&#xA;is part of this address.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Nodes</title>
      <link>https://sillysky.net/docs/nyssr/basics/node/</link>
      <pubDate>Tue, 14 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://sillysky.net/docs/nyssr/basics/node/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://sillysky.net/images/LigneClaire/doc/Nodes.webp&#34; alt=&#34;Nodes&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;A &lt;strong&gt;node&lt;/strong&gt; is a small Java runtime that participates in the nyssr.net network. Its microkernel is roughly 1.2 MByte and contains the messaging core, timers, threads, namespaces, and logging. Networking and other capabilities are loaded as plugins when the node starts.&lt;/p&gt;&#xA;&lt;h2 id=&#34;one-runtime-many-roles&#34;&gt;One runtime, many roles&lt;/h2&gt;&#xA;&lt;p&gt;Nodes are normally built from the same kernel and configured through their plugin list. The same container can therefore take different roles:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;a registry or coordination node&lt;/li&gt;&#xA;&lt;li&gt;a node hosting application services&lt;/li&gt;&#xA;&lt;li&gt;a node connected to local databases or machines&lt;/li&gt;&#xA;&lt;li&gt;a client or development node&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The role is not hardcoded into the container. Plugins provide the capabilities.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Segments</title>
      <link>https://sillysky.net/docs/nyssr/basics/segments/</link>
      <pubDate>Tue, 14 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://sillysky.net/docs/nyssr/basics/segments/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://sillysky.net/images/LigneClaire/doc/Segments.webp&#34; alt=&#34;Segments&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;All &lt;a href=&#34;https://sillysky.net/docs/nyssr/basics/node/&#34;&gt;nodes&lt;/a&gt; of a company are part of a Segment .&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;The operation of multiple segments and the communication of objects between&#xA;the segments is currently still experimental.&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Targets</title>
      <link>https://sillysky.net/docs/nyssr/basics/targets/</link>
      <pubDate>Tue, 14 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://sillysky.net/docs/nyssr/basics/targets/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://sillysky.net/images/LigneClaire/doc/Targets.webp&#34; alt=&#34;Targets&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;The class that programmers work with most often is the &lt;a href=&#34;https://sillysky.net/docs/nyssr/namespaces/targets/itarget/&#34;&gt;Target&lt;/a&gt;&#xA;class. Targets are lightweight &lt;strong&gt;Java&lt;/strong&gt; Objects that send and receive&#xA;&lt;a href=&#34;https://sillysky.net/docs/nyssr/messages/&#34;&gt;messages&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;registration&#34;&gt;Registration&lt;/h2&gt;&#xA;&lt;p&gt;To make this possible, they are registered in the &lt;a href=&#34;https://sillysky.net/docs/nyssr/namespaces/targets/itargetregistry/&#34;&gt;Target Registry&lt;/a&gt;.&#xA;Upon successful registration, a target receives an ID, the &lt;a href=&#34;https://sillysky.net/docs/nyssr/ids-and-addresses/tid/&#34;&gt;target ID&lt;/a&gt; (TID for short). It is possible to give constant TIDs to targets&#xA;during registration, but usually a random ID generated by the target registry&#xA;is sufficient.&lt;/p&gt;&#xA;&lt;h2 id=&#34;concurrency&#34;&gt;Concurrency&lt;/h2&gt;&#xA;&lt;p&gt;All &lt;a href=&#34;https://sillysky.net/docs/nyssr/messages/cmessage/&#34;&gt;messages&lt;/a&gt; are sent asynchronously. Targets are bound to a thread&#xA;during registration, which is part of a so-called &lt;a href=&#34;https://sillysky.net/docs/nyssr/basics/namespaces/&#34;&gt;namespace&lt;/a&gt;. All&#xA;messages, which they receive in the lifetime, they will always receive in this&#xA;thread. Messages are never passed to the target at the same time, but they are&#xA;always processed one after the other. This avoids problems with concurrency.&#xA;If several targets are to exchange data together, they should be registered in&#xA;the same namespace thread.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
