<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>The File Store API on sillysky.net</title>
    <link>https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/the-file-store-api/</link>
    <description>Recent content in The File Store API on sillysky.net</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Tue, 09 Dec 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/the-file-store-api/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>CRecordFileStoreAddFileToList</title>
      <link>https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/the-file-store-api/crecordfilestoreaddfiletolist/</link>
      <pubDate>Tue, 09 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/the-file-store-api/crecordfilestoreaddfiletolist/</guid>
      <description>&lt;p&gt;This is an internal message from &lt;a href=&#34;https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/&#34;&gt;FileStores&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;It is used to add a local file (for example, one that has just been created)&#xA;from the Filestore directory to the FileStore&#39;s internal list of all managed&#xA;files.&lt;/p&gt;&#xA;&lt;pre class=&#34;ss-javacode&#34;&gt;&lt;code class=&#34;language-java&#34;&gt;{&#xA;    &#34;id&#34;: &#34;15e58db7-41b9-48c6-9cb8-6a1e76255481&#34;,&#xA;    &#34;name&#34;: &#34;FILE_STORE_ADD_FILE_TO_LIST&#34;,&#xA;    &#34;isNanoService&#34;: &#34;false&#34;,&#xA;    &#34;type&#34;: &#34;REQUEST&#34;,&#xA;    &#34;namespaces&#34;: &#34;&#34;,&#xA;    &#34;description&#34;: &#34;Add a file to the file list.&#34;,&#xA;    &#34;slots&#34;: [&#xA;        {&#xA;            &#34;key&#34;: &#34;1&#34;,&#xA;            &#34;name&#34;: &#34;FILE&#34;,&#xA;            &#34;direction&#34;: &#34;REQUEST&#34;,&#xA;            &#34;presenceConstraint&#34;: &#34;MANDATORY&#34;,&#xA;            &#34;type&#34;: &#34;RECORD&#34;,&#xA;            &#34;description&#34;: &#34;The file description (&lt;a href=&#34;https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/the-file-store-api/crecordfilestorefile/&#34;&gt;CRecordFileStoreFile&lt;/a&gt;).&#34;&#xA;        }&#xA;    ]&#xA;}&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;h2 id=&#34;slot-description&#34;&gt;Slot Description&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/ids-and-addresses/id/&#34;&gt;Key&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;Name&lt;/th&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/libraries/ny_recorddatabase/etransportdirection/&#34;&gt;Direction&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/libraries/ny_recorddatabase/epresenceconstraint/&#34;&gt;Presence Constraint&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/messages/crecord/slot-types/&#34;&gt;Type&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;1&lt;/td&gt;&#xA;          &lt;td&gt;File&lt;/td&gt;&#xA;          &lt;td&gt;REQUEST&lt;/td&gt;&#xA;          &lt;td&gt;MANDATORY&lt;/td&gt;&#xA;          &lt;td&gt;RECORD&lt;/td&gt;&#xA;          &lt;td&gt;The file description, which must be a &lt;a href=&#34;https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/the-file-store-api/crecordfilestorefile/&#34;&gt;CRecordFileStoreFile&lt;/a&gt; type record.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 class=&#34;uk-h2&#34;&gt;Record Usage&lt;/h2&gt;&#xA;&lt;p&gt;&#xA;    In nyssr.net, we typically don&#39;t exchange interfaces between projects.&#xA;    Instead, we use platform-independent Records to describe message formats.&#xA;&lt;/p&gt;</description>
    </item>
    <item>
      <title>CRecordFileStoreAddLocalFile</title>
      <link>https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/the-file-store-api/crecordfilestoreaddlocalfile/</link>
      <pubDate>Tue, 09 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/the-file-store-api/crecordfilestoreaddlocalfile/</guid>
      <description>&lt;p&gt;This message imports a local file into the FileStore of a nyssr.net node.&lt;/p&gt;&#xA;&lt;p&gt;This message belongs to the FileStore API. The message is a&#xA;&lt;a href=&#34;https://sillysky.net/docs/nyssr/namespaces/nanoservices/&#34;&gt;nanoservice&lt;/a&gt; of the &lt;code&gt;SYSTEM&lt;/code&gt; &lt;a href=&#34;https://sillysky.net/docs/nyssr/namespaces/&#34;&gt;namespace&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;pre class=&#34;ss-javacode&#34;&gt;&lt;code class=&#34;language-java&#34;&gt;{&#xA;  &#34;id&#34;: &#34;e62b8dea-1596-415a-b054-3fb15fd4d354&#34;,&#xA;  &#34;name&#34;: &#34;FILE_STORE_ADD_LOCAL_FILE&#34;,&#xA;  &#34;description&#34;: &#34;Add a local file to the file store.&#34;,&#xA;  &#34;isNanoService&#34;: &#34;true&#34;,&#xA;  &#34;type&#34;: &#34;REQUEST&#34;,&#xA;  &#34;namespaces&#34;: &#34;SYSTEM&#34;,&#xA;  &#34;slots&#34;: [&#xA;    {&#xA;      &#34;key&#34;: &#34;1&#34;,&#xA;      &#34;name&#34;: &#34;PATH&#34;,&#xA;      &#34;direction&#34;: &#34;REQUEST&#34;,&#xA;      &#34;presenceConstraint&#34;: &#34;MANDATORY&#34;,&#xA;      &#34;type&#34;: &#34;STRING&#34;,&#xA;      &#34;description&#34;: &#34;The path of the file.&#34;&#xA;    },&#xA;    {&#xA;      &#34;key&#34;: &#34;2&#34;,&#xA;      &#34;name&#34;: &#34;RELATIVE_DESTINATION_PATH&#34;,&#xA;      &#34;direction&#34;: &#34;REQUEST&#34;,&#xA;      &#34;presenceConstraint&#34;: &#34;MANDATORY&#34;,&#xA;      &#34;type&#34;: &#34;STRING&#34;,&#xA;      &#34;description&#34;: &#34;The relative path of the file in the storage directory (without file name).&#34;&#xA;    }&#xA;  ]&#xA;}&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;h2 id=&#34;slot-description&#34;&gt;Slot Description&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/ids-and-addresses/id/&#34;&gt;Key&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;Name&lt;/th&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/libraries/ny_recorddatabase/etransportdirection/&#34;&gt;Direction&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/libraries/ny_recorddatabase/epresenceconstraint/&#34;&gt;Presence Constraint&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/messages/crecord/slot-types/&#34;&gt;Type&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;1&lt;/td&gt;&#xA;          &lt;td&gt;PATH&lt;/td&gt;&#xA;          &lt;td&gt;REQUEST&lt;/td&gt;&#xA;          &lt;td&gt;MANDATORY&lt;/td&gt;&#xA;          &lt;td&gt;STRING&lt;/td&gt;&#xA;          &lt;td&gt;The path of the file to import.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;2&lt;/td&gt;&#xA;          &lt;td&gt;RELATIVE_DESTINATION_PATH&lt;/td&gt;&#xA;          &lt;td&gt;REQUEST&lt;/td&gt;&#xA;          &lt;td&gt;MANDATORY&lt;/td&gt;&#xA;          &lt;td&gt;STRING&lt;/td&gt;&#xA;          &lt;td&gt;All files in FileStore are identified by a relative path to the FileStore base directory.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Example: “images/admin.jpeg”&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;While the relative path of the file serves as the key to finding it, the file&#xA;path is an absolute path where the file can be found before import. Thus, the&#xA;relative path may significantly differ from the current path.&lt;/p&gt;</description>
    </item>
    <item>
      <title>CRecordFileStoreFile</title>
      <link>https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/the-file-store-api/crecordfilestorefile/</link>
      <pubDate>Tue, 09 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/the-file-store-api/crecordfilestorefile/</guid>
      <description>&lt;p&gt;This record is a data record for transporting information about a file.&lt;/p&gt;&#xA;&lt;p&gt;This message belongs to the &lt;a href=&#34;https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/the-file-store-api/&#34;&gt;The File Store API&lt;/a&gt; API.&lt;/p&gt;&#xA;&lt;pre class=&#34;ss-javacode&#34;&gt;&lt;code class=&#34;language-java&#34;&gt;{&#xA;  &#34;id&#34;: &#34;2152ee2c-45fa-4f46-8ad1-e91c3b77fd0c&#34;,&#xA;  &#34;name&#34;: &#34;FILE_STORE_FILE&#34;,&#xA;  &#34;description&#34;: &#34;A file record.&#34;,&#xA;  &#34;isNanoService&#34;: &#34;false&#34;,&#xA;  &#34;type&#34;: &#34;DATA_RECORD&#34;,&#xA;  &#34;slots&#34;: [&#xA;    {&#xA;      &#34;key&#34;: &#34;1&#34;,&#xA;      &#34;name&#34;: &#34;HASH&#34;,&#xA;      &#34;type&#34;: &#34;STRING&#34;,&#xA;      &#34;description&#34;: &#34;The hash of the file (base32 encoded).&#34;&#xA;    },&#xA;    {&#xA;      &#34;key&#34;: &#34;2&#34;,&#xA;      &#34;name&#34;: &#34;PATH&#34;,&#xA;      &#34;type&#34;: &#34;STRING&#34;,&#xA;      &#34;description&#34;: &#34;The relative path of the file.&#34;&#xA;    },&#xA;    {&#xA;      &#34;key&#34;: &#34;3&#34;,&#xA;      &#34;name&#34;: &#34;FILE_LENGTH&#34;,&#xA;      &#34;type&#34;: &#34;LONG&#34;,&#xA;      &#34;description&#34;: &#34;The length of the file.&#34;&#xA;    },&#xA;    {&#xA;      &#34;key&#34;: &#34;4&#34;,&#xA;      &#34;name&#34;: &#34;TIME_OF_CREATION&#34;,&#xA;      &#34;type&#34;: &#34;INSTANT&#34;,&#xA;      &#34;description&#34;: &#34;Optional: The creation time stamp.&#34;&#xA;    },&#xA;    {&#xA;      &#34;key&#34;: &#34;5&#34;,&#xA;      &#34;name&#34;: &#34;TIME_OF_LAST_MODIFICATION&#34;,&#xA;      &#34;type&#34;: &#34;INSTANT&#34;,&#xA;      &#34;description&#34;: &#34;Optional: The time of the last modification.&#34;&#xA;    }&#xA;  ]&#xA;}&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;h2 id=&#34;slot-description&#34;&gt;Slot Description&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/ids-and-addresses/id/&#34;&gt;Key&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;Name&lt;/th&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/messages/crecord/slot-types/&#34;&gt;Type&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;1&lt;/td&gt;&#xA;          &lt;td&gt;HASH&lt;/td&gt;&#xA;          &lt;td&gt;STRING&lt;/td&gt;&#xA;          &lt;td&gt;The hash of the file (base32 encoded).&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;2&lt;/td&gt;&#xA;          &lt;td&gt;PATH&lt;/td&gt;&#xA;          &lt;td&gt;STRING&lt;/td&gt;&#xA;          &lt;td&gt;The relative path of the file.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;3&lt;/td&gt;&#xA;          &lt;td&gt;FILE_LENGTH&lt;/td&gt;&#xA;          &lt;td&gt;LONG&lt;/td&gt;&#xA;          &lt;td&gt;The length of the file.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;4&lt;/td&gt;&#xA;          &lt;td&gt;TIME_OF_CREATION&lt;/td&gt;&#xA;          &lt;td&gt;INSTANT&lt;/td&gt;&#xA;          &lt;td&gt;Optional: The creation time stamp.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;5&lt;/td&gt;&#xA;          &lt;td&gt;TIME_OF_LAST_MODIFICATION&lt;/td&gt;&#xA;          &lt;td&gt;INSTANT&lt;/td&gt;&#xA;          &lt;td&gt;Optional: The time of the last modification.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;This record is used in requests to and responses from the FileStore.&lt;/p&gt;</description>
    </item>
    <item>
      <title>CRecordFileStoreGetChunk</title>
      <link>https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/the-file-store-api/crecordfilestoregetchunk/</link>
      <pubDate>Tue, 09 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/the-file-store-api/crecordfilestoregetchunk/</guid>
      <description>&lt;p&gt;This is an internal message from &lt;a href=&#34;https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/&#34;&gt;FileStores&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;FileStores don&#39;t transmit entire files at once to avoid clogging network&#xA;lines. Every file download is split into many small chunks. This message is&#xA;used to retrieve one chunk of a file from another FileStore.&lt;/p&gt;&#xA;&lt;pre class=&#34;ss-javacode&#34;&gt;&lt;code class=&#34;language-java&#34;&gt;{&#xA;    &#34;id&#34;: &#34;60ff0699-bca8-400b-a997-7a1bbb8724c9&#34;,&#xA;    &#34;name&#34;: &#34;FILE_STORE_GET_CHUNK&#34;,&#xA;    &#34;description&#34;: &#34;Get a file chunk from a network file store.&#34;,&#xA;    &#34;isNanoService&#34;: &#34;false&#34;,&#xA;    &#34;type&#34;: &#34;REQUEST&#34;,&#xA;    &#34;slots&#34;: [&#xA;        {&#xA;            &#34;key&#34;: &#34;hash&#34;,&#xA;            &#34;name&#34;: &#34;HASH&#34;,&#xA;            &#34;direction&#34;: &#34;REQUEST&#34;,&#xA;            &#34;presenceConstraint&#34;: &#34;MANDATORY&#34;,&#xA;            &#34;type&#34;: &#34;STRING&#34;,&#xA;            &#34;description&#34;: &#34;The hash of the file.&#34;&#xA;            },&#xA;        {&#xA;            &#34;key&#34;: &#34;pos&#34;,&#xA;            &#34;name&#34;: &#34;CHUNK_POSITION&#34;,&#xA;            &#34;direction&#34;: &#34;REQUEST&#34;,&#xA;            &#34;presenceConstraint&#34;: &#34;MANDATORY&#34;,&#xA;            &#34;type&#34;: &#34;LONG&#34;,&#xA;            &#34;description&#34;: &#34;The position of the chunk in the file.&#34;&#xA;            },&#xA;        {&#xA;            &#34;key&#34;: &#34;len&#34;,&#xA;            &#34;name&#34;: &#34;CHUNK_LENGTH&#34;,&#xA;            &#34;direction&#34;: &#34;REQUEST&#34;,&#xA;            &#34;presenceConstraint&#34;: &#34;MANDATORY&#34;,&#xA;            &#34;type&#34;: &#34;INT&#34;,&#xA;            &#34;description&#34;: &#34;The length of the chunk.&#34;&#xA;            },&#xA;        {&#xA;            &#34;key&#34;: &#34;bytes&#34;,&#xA;            &#34;name&#34;: &#34;BYTES&#34;,&#xA;            &#34;direction&#34;: &#34;RESPONSE&#34;,&#xA;            &#34;presenceConstraint&#34;: &#34;MANDATORY&#34;,&#xA;            &#34;type&#34;: &#34;BYTE_ARRAY&#34;,&#xA;            &#34;description&#34;: &#34;The bytes (and length) of the chunk.&#34;&#xA;        }&#xA;    ]&#xA;}&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;h2 id=&#34;slot-description&#34;&gt;Slot Description&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/ids-and-addresses/id/&#34;&gt;Key&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;Name&lt;/th&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/libraries/ny_recorddatabase/etransportdirection/&#34;&gt;Direction&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/libraries/ny_recorddatabase/epresenceconstraint/&#34;&gt;Presence Constraint&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/messages/crecord/slot-types/&#34;&gt;Type&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;hash&lt;/td&gt;&#xA;          &lt;td&gt;HASH&lt;/td&gt;&#xA;          &lt;td&gt;REQUEST&lt;/td&gt;&#xA;          &lt;td&gt;MANDATORY&lt;/td&gt;&#xA;          &lt;td&gt;STRING&lt;/td&gt;&#xA;          &lt;td&gt;The hash of the file.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;pos&lt;/td&gt;&#xA;          &lt;td&gt;CHUNK_POSITION&lt;/td&gt;&#xA;          &lt;td&gt;REQUEST&lt;/td&gt;&#xA;          &lt;td&gt;MANDATORY&lt;/td&gt;&#xA;          &lt;td&gt;LONG&lt;/td&gt;&#xA;          &lt;td&gt;The position of the chunk in the file.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;len&lt;/td&gt;&#xA;          &lt;td&gt;CHUNK_LENGTH&lt;/td&gt;&#xA;          &lt;td&gt;REQUEST&lt;/td&gt;&#xA;          &lt;td&gt;MANDATORY&lt;/td&gt;&#xA;          &lt;td&gt;INT&lt;/td&gt;&#xA;          &lt;td&gt;The length of the chunk.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;bytes&lt;/td&gt;&#xA;          &lt;td&gt;BYTES&lt;/td&gt;&#xA;          &lt;td&gt;RESPONSE&lt;/td&gt;&#xA;          &lt;td&gt;MANDATORY&lt;/td&gt;&#xA;          &lt;td&gt;BYTE_ARRAY&lt;/td&gt;&#xA;          &lt;td&gt;The bytes (and length) of the chunk.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 class=&#34;uk-h2&#34;&gt;Record Usage&lt;/h2&gt;&#xA;&lt;p&gt;&#xA;    In nyssr.net, we typically don&#39;t exchange interfaces between projects.&#xA;    Instead, we use platform-independent Records to describe message formats.&#xA;&lt;/p&gt;</description>
    </item>
    <item>
      <title>CRecordFileStoreGetFileInfo</title>
      <link>https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/the-file-store-api/crecordfilestoregetfileinfo/</link>
      <pubDate>Tue, 09 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/the-file-store-api/crecordfilestoregetfileinfo/</guid>
      <description>&lt;p&gt;The message retrieves information about a file stored in a &lt;a href=&#34;https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/the-file-store-api/&#34;&gt;The File Store API&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;This message belongs to the FileStore API. However, when it is sent to the&#xA;&lt;a href=&#34;https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_localfilestoreplugin/message-api-of-the-fileregistry/&#34;&gt;The File Registry API&lt;/a&gt;, the FileRegistry selects a FileStore that hosts the&#xA;requested file and forwards the message to that FileStore. In this way, the&#xA;sender not only receives the file&#39;s data but also learns which FileStore it is&#xA;stored in.&lt;/p&gt;&#xA;&lt;pre class=&#34;ss-javacode&#34;&gt;&lt;code class=&#34;language-java&#34;&gt;{&#xA;  &#34;id&#34;: &#34;eddce1c9-070c-420b-b08a-709ac4ad8996&#34;,&#xA;  &#34;name&#34;: &#34;FILE_STORE_GET_FILE_INFO&#34;,&#xA;  &#34;description&#34;: &#34;Get the metadata for a file from a network file store.&#34;,&#xA;  &#34;isNanoService&#34;: &#34;true&#34;,&#xA;  &#34;type&#34;: &#34;REQUEST&#34;,&#xA;  &#34;namespaces&#34;: &#34;SYSTEM&#34;,&#xA;  &#34;slots&#34;: [&#xA;    {&#xA;      &#34;key&#34;: &#34;1&#34;,&#xA;      &#34;name&#34;: &#34;FILE&#34;,&#xA;      &#34;direction&#34;: &#34;REQUEST&#34;,&#xA;      &#34;presenceConstraint&#34;: &#34;MANDATORY&#34;,&#xA;      &#34;type&#34;: &#34;RECORD&#34;,&#xA;      &#34;description&#34;: &#34;A single file record.&#34;&#xA;    }&#xA;  ]&#xA;}&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;h2 id=&#34;slot-description&#34;&gt;Slot Description&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/ids-and-addresses/id/&#34;&gt;Key&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;Name&lt;/th&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/libraries/ny_recorddatabase/etransportdirection/&#34;&gt;Direction&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/libraries/ny_recorddatabase/epresenceconstraint/&#34;&gt;Presence Constraint&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/messages/crecord/slot-types/&#34;&gt;Type&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;1&lt;/td&gt;&#xA;          &lt;td&gt;FILE&lt;/td&gt;&#xA;          &lt;td&gt;REQUEST&lt;/td&gt;&#xA;          &lt;td&gt;MANDATORY&lt;/td&gt;&#xA;          &lt;td&gt;RECORD&lt;/td&gt;&#xA;          &lt;td&gt;When a request is made, the hash and/or path of the file is stored in the CRecordFileStoreFile record. The recipient then fills in the remaining fields of the record for the response.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;usage&#34;&gt;Usage&lt;/h2&gt;&#xA;&lt;h3 id=&#34;request&#34;&gt;Request&lt;/h3&gt;&#xA;&lt;p&gt;The payload of the record consists only of a record of type&#xA;&lt;code&gt;CRecordFileStoreFile&lt;/code&gt;. In the request (outbound), the path and optionally the&#xA;hash of the requested file are transmitted. In the response (return), the&#xA;record contains the remaining information about the requested file if&#xA;successful.&lt;/p&gt;</description>
    </item>
    <item>
      <title>CRecordFileStoreNotifyFileDownloaded</title>
      <link>https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/the-file-store-api/crecordfilestorenotifyfiledownloaded/</link>
      <pubDate>Tue, 09 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/the-file-store-api/crecordfilestorenotifyfiledownloaded/</guid>
      <description>&lt;p&gt;This is an internal message from &lt;a href=&#34;https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/&#34;&gt;FileStores&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;A file was downloaded by a FileStore &lt;a href=&#34;https://sillysky.net/docs/nyssr/job-engine/&#34;&gt;Job&lt;/a&gt; from another&#xA;FileStore. The FileStore will add the file to its &lt;strong&gt;internal lists&lt;/strong&gt; and&#xA;subsequently register it with the &lt;a href=&#34;https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_localfilestoreplugin/&#34;&gt;File Registry&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;pre class=&#34;ss-javacode&#34;&gt;&lt;code class=&#34;language-java&#34;&gt;{&#xA;    &#34;id&#34;: &#34;b39ebcec-07f7-4442-a448-6cf6229bbcf2&#34;,&#xA;    &#34;name&#34;: &#34;FILE_STORE_NOTIFY_FILE_DOWNLOADED&#34;,&#xA;    &#34;description&#34;: &#34;Notification: A file has been downloaded and saved into the indexed directory.&#34;,&#xA;    &#34;isNanoService&#34;: &#34;false&#34;,&#xA;    &#34;type&#34;: &#34;NOTIFICATION&#34;,&#xA;    &#34;slots&#34;: [&#xA;        {&#xA;            &#34;key&#34;: &#34;1&#34;,&#xA;            &#34;name&#34;: &#34;PATH&#34;,&#xA;            &#34;direction&#34;: &#34;REQUEST&#34;,&#xA;            &#34;presenceConstraint&#34;: &#34;MANDATORY&#34;,&#xA;            &#34;type&#34;: &#34;STRING&#34;,&#xA;            &#34;description&#34;: &#34;The requested path.&#34;&#xA;        },&#xA;        {&#xA;            &#34;key&#34;: &#34;2&#34;,&#xA;            &#34;name&#34;: &#34;HASH&#34;,&#xA;            &#34;direction&#34;: &#34;REQUEST&#34;,&#xA;            &#34;presenceConstraint&#34;: &#34;MANDATORY&#34;,&#xA;            &#34;type&#34;: &#34;STRING&#34;,&#xA;            &#34;description&#34;: &#34;The requested hash.&#34;&#xA;        },&#xA;        {&#xA;            &#34;key&#34;: &#34;3&#34;,&#xA;            &#34;name&#34;: &#34;FILE_ENTRY&#34;,&#xA;            &#34;direction&#34;: &#34;REQUEST&#34;,&#xA;            &#34;presenceConstraint&#34;: &#34;MANDATORY&#34;,&#xA;            &#34;type&#34;: &#34;RECORD&#34;,&#xA;            &#34;description&#34;: &#34;A file record (CRecordFileStoreFile) on success.&#34;&#xA;        },&#xA;        {&#xA;            &#34;key&#34;: &#34;4&#34;,&#xA;            &#34;name&#34;: &#34;BYTES&#34;,&#xA;            &#34;direction&#34;: &#34;REQUEST&#34;,&#xA;            &#34;presenceConstraint&#34;: &#34;MANDATORY&#34;,&#xA;            &#34;type&#34;: &#34;BYTE_ARRAY&#34;,&#xA;            &#34;description&#34;: &#34;The bytes if the byte array was requested.&#34;&#xA;        },&#xA;        {&#xA;            &#34;key&#34;: &#34;5&#34;,&#xA;            &#34;name&#34;: &#34;FILE&#34;,&#xA;            &#34;direction&#34;: &#34;REQUEST&#34;,&#xA;            &#34;presenceConstraint&#34;: &#34;MANDATORY&#34;,&#xA;            &#34;type&#34;: &#34;OBJECT&#34;,&#xA;            &#34;description&#34;: &#34;The file object if a file object was requested.&#34;&#xA;        },&#xA;        {&#xA;            &#34;key&#34;: &#34;6&#34;,&#xA;            &#34;name&#34;: &#34;RESULT_CODE&#34;,&#xA;            &#34;direction&#34;: &#34;REQUEST&#34;,&#xA;            &#34;presenceConstraint&#34;: &#34;MANDATORY&#34;,&#xA;            &#34;type&#34;: &#34;INT&#34;,&#xA;            &#34;description&#34;: &#34;The result code of the download.&#34;&#xA;        },&#xA;        {&#xA;            &#34;key&#34;: &#34;7&#34;,&#xA;            &#34;name&#34;: &#34;RESULT_TEXT&#34;,&#xA;            &#34;direction&#34;: &#34;REQUEST&#34;,&#xA;            &#34;presenceConstraint&#34;: &#34;MANDATORY&#34;,&#xA;            &#34;type&#34;: &#34;STRING&#34;,&#xA;            &#34;description&#34;: &#34;The result text of the download. This error text originates from the download job.&#34;&#xA;        }&#xA;    ]&#xA;}&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;h2 id=&#34;slot-description&#34;&gt;Slot Description&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/ids-and-addresses/id/&#34;&gt;Key&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;Name&lt;/th&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/libraries/ny_recorddatabase/etransportdirection/&#34;&gt;Direction&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/libraries/ny_recorddatabase/epresenceconstraint/&#34;&gt;Presence Constraint&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/messages/crecord/slot-types/&#34;&gt;Type&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;1&lt;/td&gt;&#xA;          &lt;td&gt;PATH&lt;/td&gt;&#xA;          &lt;td&gt;REQUEST&lt;/td&gt;&#xA;          &lt;td&gt;MANDATORY&lt;/td&gt;&#xA;          &lt;td&gt;STRING&lt;/td&gt;&#xA;          &lt;td&gt;The requested path.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;2&lt;/td&gt;&#xA;          &lt;td&gt;HASH&lt;/td&gt;&#xA;          &lt;td&gt;REQUEST&lt;/td&gt;&#xA;          &lt;td&gt;MANDATORY&lt;/td&gt;&#xA;          &lt;td&gt;STRING&lt;/td&gt;&#xA;          &lt;td&gt;The requested hash.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;3&lt;/td&gt;&#xA;          &lt;td&gt;FILE_ENTRY&lt;/td&gt;&#xA;          &lt;td&gt;REQUEST&lt;/td&gt;&#xA;          &lt;td&gt;MANDATORY&lt;/td&gt;&#xA;          &lt;td&gt;RECORD&lt;/td&gt;&#xA;          &lt;td&gt;A file record (&lt;a href=&#34;https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/the-file-store-api/crecordfilestorefile/&#34;&gt;CRecordFileStoreFile&lt;/a&gt;) on success.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;4&lt;/td&gt;&#xA;          &lt;td&gt;BYTES&lt;/td&gt;&#xA;          &lt;td&gt;REQUEST&lt;/td&gt;&#xA;          &lt;td&gt;MANDATORY&lt;/td&gt;&#xA;          &lt;td&gt;BYTE_ARRAY&lt;/td&gt;&#xA;          &lt;td&gt;The bytes if the byte array was requested.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;5&lt;/td&gt;&#xA;          &lt;td&gt;FILE&lt;/td&gt;&#xA;          &lt;td&gt;REQUEST&lt;/td&gt;&#xA;          &lt;td&gt;MANDATORY&lt;/td&gt;&#xA;          &lt;td&gt;OBJECT&lt;/td&gt;&#xA;          &lt;td&gt;The file object if a file object was requested.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;6&lt;/td&gt;&#xA;          &lt;td&gt;RESULT_CODE&lt;/td&gt;&#xA;          &lt;td&gt;REQUEST&lt;/td&gt;&#xA;          &lt;td&gt;MANDATORY&lt;/td&gt;&#xA;          &lt;td&gt;INT&lt;/td&gt;&#xA;          &lt;td&gt;The result code of the download. This error code originates from the download job.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;7&lt;/td&gt;&#xA;          &lt;td&gt;RESULT_TEXT&lt;/td&gt;&#xA;          &lt;td&gt;REQUEST&lt;/td&gt;&#xA;          &lt;td&gt;MANDATORY&lt;/td&gt;&#xA;          &lt;td&gt;STRING&lt;/td&gt;&#xA;          &lt;td&gt;The result text of the download. This error text originates from the download job.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 class=&#34;uk-h2&#34;&gt;Record Usage&lt;/h2&gt;&#xA;&lt;p&gt;&#xA;    In nyssr.net, we typically don&#39;t exchange interfaces between projects.&#xA;    Instead, we use platform-independent Records to describe message formats.&#xA;&lt;/p&gt;</description>
    </item>
    <item>
      <title>CRecordFileStoreNotifyFileImported</title>
      <link>https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/the-file-store-api/crecordfilestorenotifyfileimported/</link>
      <pubDate>Tue, 09 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/the-file-store-api/crecordfilestorenotifyfileimported/</guid>
      <description>&lt;p&gt;This is an internal message from &lt;a href=&#34;https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/&#34;&gt;FileStores&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;This message serves as a notification from a file import job to the&#xA;&lt;a href=&#34;https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/&#34;&gt;FileStore&lt;/a&gt;. It indicates that &lt;strong&gt;a new file has been&#xA;successfully imported&lt;/strong&gt;. The FileStore will subsequently add the file to its&#xA;&lt;strong&gt;internal lists&lt;/strong&gt; and register it with the &lt;a href=&#34;https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_localfilestoreplugin/&#34;&gt;File Registry&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;pre class=&#34;ss-javacode&#34;&gt;&lt;code class=&#34;language-java&#34;&gt;{&#xA;    &#34;id&#34;: &#34;02bf09f0-d1d8-40af-9788-e9a46c884c74&#34;,&#xA;    &#34;name&#34;: &#34;FILE_STORE_NOTIFY_FILE_IMPORTED&#34;,&#xA;    &#34;description&#34;: &#34;Notification: A file has been imported into the indexed directory.&#34;,&#xA;    &#34;isNanoService&#34;: &#34;false&#34;,&#xA;    &#34;type&#34;: &#34;NOTIFICATION&#34;,&#xA;    &#34;slots&#34;: [&#xA;        {&#xA;            &#34;key&#34;: &#34;1&#34;,&#xA;            &#34;name&#34;: &#34;FILE_RECORD&#34;,&#xA;            &#34;direction&#34;: &#34;REQUEST&#34;,&#xA;            &#34;presenceConstraint&#34;: &#34;MANDATORY&#34;,&#xA;            &#34;type&#34;: &#34;RECORD&#34;,&#xA;            &#34;description&#34;: &#34;The file record. Type: &lt;a href=&#34;https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/the-file-store-api/crecordfilestorefile/&#34;&gt;CRecordFileStoreFile&lt;/a&gt;.&#34;&#xA;        }&#xA;    ]&#xA;}&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;h2 id=&#34;slot-description&#34;&gt;Slot Description&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/ids-and-addresses/id/&#34;&gt;Key&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;Name&lt;/th&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/libraries/ny_recorddatabase/etransportdirection/&#34;&gt;Direction&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/libraries/ny_recorddatabase/epresenceconstraint/&#34;&gt;Presence Constraint&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/messages/crecord/slot-types/&#34;&gt;Type&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;1&lt;/td&gt;&#xA;          &lt;td&gt;FILE_RECORD&lt;/td&gt;&#xA;          &lt;td&gt;REQUEST&lt;/td&gt;&#xA;          &lt;td&gt;MANDATORY&lt;/td&gt;&#xA;          &lt;td&gt;RECORD&lt;/td&gt;&#xA;          &lt;td&gt;The file record (&lt;a href=&#34;https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/the-file-store-api/crecordfilestorefile/&#34;&gt;CRecordFileStoreFile&lt;/a&gt;).&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 class=&#34;uk-h2&#34;&gt;Record Usage&lt;/h2&gt;&#xA;&lt;p&gt;&#xA;    In nyssr.net, we typically don&#39;t exchange interfaces between projects.&#xA;    Instead, we use platform-independent Records to describe message formats.&#xA;&lt;/p&gt;</description>
    </item>
    <item>
      <title>CRecordFileStoreRequestFile</title>
      <link>https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/the-file-store-api/crecordfilestorerequestfile/</link>
      <pubDate>Tue, 09 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/the-file-store-api/crecordfilestorerequestfile/</guid>
      <description>&lt;p&gt;Request a file from a &lt;a href=&#34;https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/the-file-store-api/&#34;&gt;The File Store API&lt;/a&gt;. This request should always be sent to&#xA;the local FileStore, as it will download the file from another FileStore if&#xA;necessary and then return it in the response.&lt;/p&gt;&#xA;&lt;p&gt;This message belongs to the FileStore API. The message is a&#xA;&lt;a href=&#34;https://sillysky.net/docs/nyssr/namespaces/nanoservices/&#34;&gt;nanoservice&lt;/a&gt; of the &lt;code&gt;SYSTEM&lt;/code&gt; &lt;a href=&#34;https://sillysky.net/docs/nyssr/namespaces/&#34;&gt;namespace&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;pre class=&#34;ss-javacode&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;{&#xA;    &#34;id&#34;: &#34;0b85e177-500e-47dc-b794-4675e0985d94&#34;,&#xA;    &#34;name&#34;: &#34;FILE_STORE_REQUEST_FILE&#34;,&#xA;    &#34;description&#34;: &#34;Request a file from the local file store.&#34;,&#xA;    &#34;isNanoService&#34;: &#34;true&#34;,&#xA;    &#34;type&#34;: &#34;REQUEST&#34;,&#xA;    &#34;namespaces&#34;: &#34;SYSTEM&#34;,&#xA;    &#34;slots&#34;: [&#xA;        {&#xA;          &#34;key&#34;: &#34;path&#34;,&#xA;          &#34;name&#34;: &#34;PATH&#34;,&#xA;          &#34;direction&#34;: &#34;REQUEST&#34;,&#xA;          &#34;presenceConstraint&#34;: &#34;CONDITIONAL_EXCLUSIVE&#34;,&#xA;          &#34;type&#34;: &#34;STRING&#34;,&#xA;          &#34;description&#34;: &#34;The relative path of the file.\nCan be null, if hash is provided.&#34;&#xA;        },&#xA;        {&#xA;          &#34;key&#34;: &#34;hash&#34;,&#xA;          &#34;name&#34;: &#34;HASH&#34;,&#xA;          &#34;direction&#34;: &#34;REQUEST&#34;,&#xA;          &#34;presenceConstraint&#34;: &#34;CONDITIONAL_EXCLUSIVE&#34;,&#xA;          &#34;type&#34;: &#34;STRING&#34;,&#xA;          &#34;description&#34;: &#34;MD5 hash in base32 (use CMd5.toBase32()).\nCan be null, if path is provided.&#34;&#xA;        },&#xA;        {&#xA;          &#34;key&#34;: &#34;how&#34;,&#xA;          &#34;name&#34;: &#34;DELIVERY_TYPE&#34;,&#xA;          &#34;direction&#34;: &#34;REQUEST&#34;,&#xA;          &#34;presenceConstraint&#34;: &#34;OPTIONAL&#34;,&#xA;          &#34;type&#34;: &#34;BYTE&#34;,&#xA;          &#34;description&#34;: &#34;1 (default) as byte array, 2 as java.util.File.&#34;&#xA;        },&#xA;        {&#xA;          &#34;key&#34;: &#34;rec&#34;,&#xA;          &#34;name&#34;: &#34;FILE_RECORD&#34;,&#xA;          &#34;direction&#34;: &#34;RESPONSE&#34;,&#xA;          &#34;presenceConstraint&#34;: &#34;MANDATORY&#34;,&#xA;          &#34;type&#34;: &#34;RECORD&#34;,&#xA;          &#34;description&#34;: &#34;A record of type &lt;a href=&#34;https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/the-file-store-api/crecordfilestorefile/&#34;&gt;CRecordFileStoreFile&lt;/a&gt;.&#34;&#xA;        },&#xA;        {&#xA;          &#34;key&#34;: &#34;file&#34;,&#xA;          &#34;name&#34;: &#34;FILE&#34;,&#xA;          &#34;direction&#34;: &#34;RESPONSE&#34;,&#xA;          &#34;presenceConstraint&#34;: &#34;CONDITIONAL_EXCLUSIVE&#34;,&#xA;          &#34;type&#34;: &#34;OBJECT&#34;,&#xA;          &#34;description&#34;: &#34;A java.util.File.&#34;&#xA;        },&#xA;        {&#xA;          &#34;key&#34;: &#34;ba&#34;,&#xA;          &#34;name&#34;: &#34;BYTES&#34;,&#xA;          &#34;direction&#34;: &#34;RESPONSE&#34;,&#xA;          &#34;presenceConstraint&#34;: &#34;CONDITIONAL_EXCLUSIVE&#34;,&#xA;          &#34;type&#34;: &#34;BYTE_ARRAY&#34;,&#xA;          &#34;description&#34;: &#34;The bytes of the file.&#34;&#xA;        }&#xA;    ]&#xA;}&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;h2 id=&#34;slot-description&#34;&gt;Slot Description&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/ids-and-addresses/id/&#34;&gt;Key&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;Name&lt;/th&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/libraries/ny_recorddatabase/etransportdirection/&#34;&gt;Direction&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/libraries/ny_recorddatabase/epresenceconstraint/&#34;&gt;Presence Constraint&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/messages/crecord/slot-types/&#34;&gt;Type&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;path&lt;/td&gt;&#xA;          &lt;td&gt;PATH&lt;/td&gt;&#xA;          &lt;td&gt;REQUEST&lt;/td&gt;&#xA;          &lt;td&gt;CONDITIONAL_EXCLUSIVE&lt;/td&gt;&#xA;          &lt;td&gt;STRING&lt;/td&gt;&#xA;          &lt;td&gt;The relative path of the file.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Can be null, if hash is provided.&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;hash&lt;/td&gt;&#xA;          &lt;td&gt;HASH&lt;/td&gt;&#xA;          &lt;td&gt;REQUEST&lt;/td&gt;&#xA;          &lt;td&gt;CONDITIONAL_EXCLUSIVE&lt;/td&gt;&#xA;          &lt;td&gt;STRING&lt;/td&gt;&#xA;          &lt;td&gt;MD5 hash in base32 (use CMd5.toBase32()).&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Can be null, if path is provided.&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;how&lt;/td&gt;&#xA;          &lt;td&gt;DELIVERY_TYPE&lt;/td&gt;&#xA;          &lt;td&gt;REQUEST&lt;/td&gt;&#xA;          &lt;td&gt;OPTIONAL&lt;/td&gt;&#xA;          &lt;td&gt;BYTE&lt;/td&gt;&#xA;          &lt;td&gt;1 (default) as a byte array&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;2 as java.util.File object.&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;rec&lt;/td&gt;&#xA;          &lt;td&gt;FILE_RECORD&lt;/td&gt;&#xA;          &lt;td&gt;RESPONSE&lt;/td&gt;&#xA;          &lt;td&gt;MANDATORY&lt;/td&gt;&#xA;          &lt;td&gt;RECORD&lt;/td&gt;&#xA;          &lt;td&gt;A record of type &lt;a href=&#34;https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/the-file-store-api/crecordfilestorefile/&#34;&gt;CRecordFileStoreFile&lt;/a&gt;.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;file&lt;/td&gt;&#xA;          &lt;td&gt;FILE&lt;/td&gt;&#xA;          &lt;td&gt;RESPONSE&lt;/td&gt;&#xA;          &lt;td&gt;CONDITIONAL_EXCLUSIVE&lt;/td&gt;&#xA;          &lt;td&gt;OBJECT&lt;/td&gt;&#xA;          &lt;td&gt;If a java.util.File object was requested, the object for a file in the local FileStore is delivered here if successful.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;ba&lt;/td&gt;&#xA;          &lt;td&gt;BYTES&lt;/td&gt;&#xA;          &lt;td&gt;RESPONSE&lt;/td&gt;&#xA;          &lt;td&gt;CONDITIONAL_EXCLUSIVE&lt;/td&gt;&#xA;          &lt;td&gt;BYTE_ARRAY&lt;/td&gt;&#xA;          &lt;td&gt;If the data in the file was requested, the byte array of the file contents is delivered here if successful.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;The request requires specifying the relative path of the file. Optionally, a&#xA;hash can be included if a specific version of the file is needed. Furthermore,&#xA;you can specify whether the file should be delivered as a byte array (default)&#xA;or as a local file.&lt;/p&gt;</description>
    </item>
    <item>
      <title>CRecordFileStoreStoreChunk</title>
      <link>https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/the-file-store-api/crecordfilestorestorechunk/</link>
      <pubDate>Tue, 09 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/the-file-store-api/crecordfilestorestorechunk/</guid>
      <description>&lt;p&gt;This is an internal message from &lt;a href=&#34;https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/&#34;&gt;FileStores&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;This message is used when files are transferred from one FileStore to another.&#xA;Files are not transferred in one piece but in blocks (Default: 10000 bytes per&#xA;block). This specific message is used to transfer a single file block.&lt;/p&gt;&#xA;&lt;pre class=&#34;ss-javacode&#34;&gt;&lt;code class=&#34;language-java&#34;&gt;{&#xA;    &#34;id&#34;: &#34;def6693e-5729-44a5-9532-dc5b872375d5&#34;,&#xA;    &#34;name&#34;: &#34;FILE_STORE_STORE_CHUNK&#34;,&#xA;    &#34;description&#34;: &#34;Store a file chunk into a network file store.&#34;,&#xA;    &#34;isNanoService&#34;: &#34;false&#34;,&#xA;    &#34;type&#34;: &#34;REQUEST&#34;,&#xA;    &#34;slots&#34;: [&#xA;        {&#xA;            &#34;key&#34;: &#34;hash&#34;,&#xA;            &#34;name&#34;: &#34;HASH&#34;,&#xA;            &#34;direction&#34;: &#34;REQUEST&#34;,&#xA;            &#34;presenceConstraint&#34;: &#34;MANDATORY&#34;,&#xA;            &#34;type&#34;: &#34;STRING&#34;,&#xA;            &#34;description&#34;: &#34;The hash of the file.&#34;&#xA;        },&#xA;        {&#xA;            &#34;key&#34;: &#34;bytes&#34;,&#xA;            &#34;name&#34;: &#34;BYTES&#34;,&#xA;            &#34;direction&#34;: &#34;REQUEST&#34;,&#xA;            &#34;presenceConstraint&#34;: &#34;MANDATORY&#34;,&#xA;            &#34;type&#34;: &#34;BYTE_ARRAY&#34;,&#xA;            &#34;description&#34;: &#34;The bytes (and length) of the chunk.&#34;&#xA;        },&#xA;        {&#xA;            &#34;key&#34;: &#34;pos&#34;,&#xA;            &#34;name&#34;: &#34;FILE_POSITION&#34;,&#xA;            &#34;direction&#34;: &#34;REQUEST&#34;,&#xA;            &#34;presenceConstraint&#34;: &#34;MANDATORY&#34;,&#xA;            &#34;type&#34;: &#34;LONG&#34;,&#xA;            &#34;description&#34;: &#34;The file position of the chunk.&#34;&#xA;        }&#xA;    ]&#xA;}&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;h2 id=&#34;slot-description&#34;&gt;Slot Description&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/ids-and-addresses/id/&#34;&gt;Key&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;Name&lt;/th&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/libraries/ny_recorddatabase/etransportdirection/&#34;&gt;Direction&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/libraries/ny_recorddatabase/epresenceconstraint/&#34;&gt;Presence Constraint&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/messages/crecord/slot-types/&#34;&gt;Type&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;hash&lt;/td&gt;&#xA;          &lt;td&gt;HASH&lt;/td&gt;&#xA;          &lt;td&gt;REQUEST&lt;/td&gt;&#xA;          &lt;td&gt;MANDATORY&lt;/td&gt;&#xA;          &lt;td&gt;STRING&lt;/td&gt;&#xA;          &lt;td&gt;The MD5 hash of the file (Base64 encoded).&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;bytes&lt;/td&gt;&#xA;          &lt;td&gt;BYTES&lt;/td&gt;&#xA;          &lt;td&gt;REQUEST&lt;/td&gt;&#xA;          &lt;td&gt;MANDATORY&lt;/td&gt;&#xA;          &lt;td&gt;BYTE_ARRAY&lt;/td&gt;&#xA;          &lt;td&gt;The bytes (and length) of the chunk.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;pos&lt;/td&gt;&#xA;          &lt;td&gt;FILE_POSITION&lt;/td&gt;&#xA;          &lt;td&gt;REQUEST&lt;/td&gt;&#xA;          &lt;td&gt;MANDATORY&lt;/td&gt;&#xA;          &lt;td&gt;LONG&lt;/td&gt;&#xA;          &lt;td&gt;The file position of the chunk.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 class=&#34;uk-h2&#34;&gt;Record Usage&lt;/h2&gt;&#xA;&lt;p&gt;&#xA;    In nyssr.net, we typically don&#39;t exchange interfaces between projects.&#xA;    Instead, we use platform-independent Records to describe message formats.&#xA;&lt;/p&gt;</description>
    </item>
    <item>
      <title>CRecordFileStoreStoreFile</title>
      <link>https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/the-file-store-api/crecordfilestorestorefile/</link>
      <pubDate>Tue, 09 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/the-file-store-api/crecordfilestorestorefile/</guid>
      <description>&lt;p&gt;This is an internal message from &lt;a href=&#34;https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/&#34;&gt;FileStores&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;This message saves a file from a target to a file store. The accompanying&#xA;record contains the file description. After receiving the message, the file&#xA;store begins requesting the first chunks.&lt;/p&gt;&#xA;&lt;pre class=&#34;ss-javacode&#34;&gt;&lt;code class=&#34;language-java&#34;&gt;{&#xA;    &#34;id&#34;: &#34;b88cdb0c-fb4f-4910-9bdd-c1b18257c5bd&#34;,&#xA;    &#34;name&#34;: &#34;FILE_STORE_STORE_FILE&#34;,&#xA;    &#34;description&#34;: &#34;Store a file into a network file store.&#34;,&#xA;    &#34;isNanoService&#34;: &#34;false&#34;,&#xA;    &#34;type&#34;: &#34;REQUEST&#34;,&#xA;    &#34;slots&#34;: [&#xA;        {&#xA;            &#34;key&#34;: &#34;1&#34;,&#xA;            &#34;name&#34;: &#34;FILE&#34;,&#xA;            &#34;direction&#34;: &#34;REQUEST&#34;,&#xA;            &#34;presenceConstraint&#34;: &#34;MANDATORY&#34;,&#xA;            &#34;type&#34;: &#34;RECORD&#34;,&#xA;            &#34;description&#34;: &#34;A single file record. Type: &lt;a href=&#34;https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/the-file-store-api/crecordfilestorefile/&#34;&gt;CRecordFileStoreFile&lt;/a&gt;.&#34;&#xA;        }&#xA;    ]&#xA;}&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;h2 id=&#34;slot-description&#34;&gt;Slot Description&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/ids-and-addresses/id/&#34;&gt;Key&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;Name&lt;/th&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/libraries/ny_recorddatabase/etransportdirection/&#34;&gt;Direction&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/libraries/ny_recorddatabase/epresenceconstraint/&#34;&gt;Presence Constraint&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;&lt;a href=&#34;https://sillysky.net/docs/nyssr/messages/crecord/slot-types/&#34;&gt;Type&lt;/a&gt;&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;1&lt;/td&gt;&#xA;          &lt;td&gt;FILE&lt;/td&gt;&#xA;          &lt;td&gt;REQUEST&lt;/td&gt;&#xA;          &lt;td&gt;MANDATORY&lt;/td&gt;&#xA;          &lt;td&gt;RECORD&lt;/td&gt;&#xA;          &lt;td&gt;The &lt;a href=&#34;https://sillysky.net/docs/nyssr/plugins/supplied-plugins/plugin-jars/ny_filestoreplugin/the-file-store-api/crecordfilestorefile/&#34;&gt;CRecordFileStoreFile&lt;/a&gt; record contains the description of the file to be stored in the FileStore.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 class=&#34;uk-h2&#34;&gt;Record Usage&lt;/h2&gt;&#xA;&lt;p&gt;&#xA;    In nyssr.net, we typically don&#39;t exchange interfaces between projects.&#xA;    Instead, we use platform-independent Records to describe message formats.&#xA;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
