<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Namespaces on sillysky.net</title>
    <link>https://sillysky.net/docs/nyssr/namespaces/</link>
    <description>Recent content in Namespaces 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/namespaces/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>CWellKnownNID</title>
      <link>https://sillysky.net/docs/nyssr/namespaces/cwellknownnid/</link>
      <pubDate>Tue, 14 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://sillysky.net/docs/nyssr/namespaces/cwellknownnid/</guid>
      <description>&lt;p&gt;Some namespaces are used by the kernel or supplied plugins. The definition of&#xA;the namespace IDs and their names is done in this class.&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;ID&lt;/th&gt;&#xA;          &lt;th&gt;Function&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;SYSTEM&lt;/td&gt;&#xA;          &lt;td&gt;The most important namespace, always present&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;TRANSPORT&lt;/td&gt;&#xA;          &lt;td&gt;Namespace for network functions, always present when the network plugin is loaded&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;TCP&lt;/td&gt;&#xA;          &lt;td&gt;Namespace for the transport layer, always present when the TCP plugin is loaded&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;TEST&lt;/td&gt;&#xA;          &lt;td&gt;Namespace for TESTS, always present when the test plugin was loaded&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;REMOTE_SKIN&lt;/td&gt;&#xA;          &lt;td&gt;Namespace for the RemoteSkin UI&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;</description>
    </item>
    <item>
      <title>INamespace</title>
      <link>https://sillysky.net/docs/nyssr/namespaces/inamespace/</link>
      <pubDate>Tue, 14 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://sillysky.net/docs/nyssr/namespaces/inamespace/</guid>
      <description>&lt;p&gt;A namespace provides a working environment for a plug-in, application, or&#xA;microservice. It provides threads, registers targets, and has a local nano&#xA;service registry. It encapsulates this environment from other namespaces so&#xA;that, for example, hundreds of instances of the same application can operate&#xA;simultaneously in the same node.&lt;/p&gt;&#xA;&lt;p&gt;A number of namespaces are always registered in a node. However, the&#xA;initialization of all packages is asynchronous. So it can happen that the own&#xA;package is initialized, but the namespace is not available yet. So it is&#xA;advisable to add needed namespaces to the dependencies of your own &lt;a href=&#34;https://sillysky.net/docs/nyssr/services/iservicestarter/&#34;&gt;service starter&lt;/a&gt;. This ensures that the required namespaces are available when&#xA;the own package is initialized.&lt;/p&gt;</description>
    </item>
    <item>
      <title>INamespaceFactory</title>
      <link>https://sillysky.net/docs/nyssr/namespaces/inamespacefactory/</link>
      <pubDate>Tue, 14 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://sillysky.net/docs/nyssr/namespaces/inamespacefactory/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/namespaces/inamespace/&#34;&gt;Namespace&lt;/a&gt; creation is a complex process. Therefore, a factory is&#xA;used for this purpose, the namespace factory. This factory is registered as a&#xA;service in the &lt;a href=&#34;https://sillysky.net/docs/nyssr/services/serviceregistry/&#34;&gt;service registry&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;get-the-factory&#34;&gt;Get the factory&lt;/h2&gt;&#xA;&lt;p&gt;The factory is fetched as a singleton from the &lt;a href=&#34;https://sillysky.net/docs/nyssr/services/serviceregistry/&#34;&gt;service registry&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;pre class=&#34;ss-javacode&#34;&gt;&lt;code class=&#34;language-java&#34;&gt;final &lt;a href=&#34;https://sillysky.net/docs/nyssr/namespaces/inamespacefactory/&#34;&gt;INamespaceFactory&lt;/a&gt; nf = &lt;a href=&#34;https://sillysky.net/docs/nyssr/services/serviceregistry/&#34;&gt;CServiceRegistry&lt;/a&gt;.getInstance()&#xA;                                             .getService(&lt;a href=&#34;https://sillysky.net/docs/nyssr/namespaces/inamespacefactory/&#34;&gt;INamespaceFactory&lt;/a&gt;.class);&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;As always, make sure that the &lt;a href=&#34;https://sillysky.net/docs/nyssr/services/iservicestarter/&#34;&gt;service starter&lt;/a&gt; of your package has a&#xA;dependency on the INamespaceFactory to ensure that the factory already exists.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-creation-of-namespaces&#34;&gt;The creation of namespaces&lt;/h2&gt;&#xA;&lt;p&gt;To create a &lt;a href=&#34;https://sillysky.net/docs/nyssr/namespaces/inamespace/&#34;&gt;namespace&lt;/a&gt;, we need a namespace ID that has not yet been&#xA;assigned and a short description of the new namespace.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
