<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ouroboros, branch 0.20.0</title>
<subtitle>Ouroboros main repository</subtitle>
<id>https://ouroboros.rocks/cgit/ouroboros/atom?h=0.20.0</id>
<link rel='self' href='https://ouroboros.rocks/cgit/ouroboros/atom?h=0.20.0'/>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/'/>
<updated>2023-09-20T16:53:25+00:00</updated>
<entry>
<title>ipcpd: Broadcast destruction of DHT requests</title>
<updated>2023-09-20T16:53:25+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2023-09-20T10:45:37+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=3662d75fa3a2cbe52fd9008754b1b6222342308d'/>
<id>urn:sha1:3662d75fa3a2cbe52fd9008754b1b6222342308d</id>
<content type='text'>
When a request is cancelled/destroyed, all blocking threads should
exit. Noticed some hangs on the DHT, this seems to fix/reduce it.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>lib: Revise port construct in application</title>
<updated>2023-09-20T16:51:19+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2023-09-20T06:57:15+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=2df952d68587a6422f7462eee55c0f42904df4c9'/>
<id>urn:sha1:2df952d68587a6422f7462eee55c0f42904df4c9</id>
<content type='text'>
The application had a port construct, which is a leftover from the
early days implementing RINA specs, which had a "port_id" to access
flows. O7s doesn't really have a "port" concept, only flows. The
port_wait_assign function was used in the IPCP to wait for the IRMd to
assign the flow_id and return so the flow object could be created.

This renames things a bit, and also simplifies the locking to us a
single lock/condvar for managing flows. This should be further
improved to move the flow state into the flow object, maintain a
double mapping of to flow objects (id_to_flow and fd_to_flow) and
malloc flow objects at flow allocation, instead of keeping the full
table in memory at init to further reduce memory footprint.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>ipcpd: Fix dereference of unknown pointer type</title>
<updated>2023-09-20T16:51:19+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2023-09-19T11:46:46+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=3be8a872c638b81f39596a2fd5e9b0c43533e002'/>
<id>urn:sha1:3be8a872c638b81f39596a2fd5e9b0c43533e002</id>
<content type='text'>
The event handler was dereferencing the pointer to a connection, but
the pointer type is not known yet.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>ipcpd: Register event handler after scheduler start</title>
<updated>2023-09-20T16:51:19+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2023-09-19T10:45:07+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=cd649633abae9a0fd2bdbcda965ee1dfd4c6fedd'/>
<id>urn:sha1:cd649633abae9a0fd2bdbcda965ee1dfd4c6fedd</id>
<content type='text'>
The event handler was registered before the scheduler was
started. Which could in theory cause addition of fds to an
uninitialized scheduler. The event handler is now registered after the
scheduler is created as part of dt_start. Likewise it now unregisters
as part of dt_stop.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>lib: Revise application init and fini</title>
<updated>2023-09-20T16:51:19+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2023-09-18T11:59:01+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=01df685d0e116a0da43f2a7b19b32e617db4ba3a'/>
<id>urn:sha1:01df685d0e116a0da43f2a7b19b32e617db4ba3a</id>
<content type='text'>
The init will now print more useful errors if a process fails to
initialize. Also rearranged these procedures a little bit.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>lib: Rename portevent to flowevent</title>
<updated>2023-09-20T16:51:19+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2023-09-17T11:49:59+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=c7fbae74dcf91333cc53632153e1c91e2a641f0d'/>
<id>urn:sha1:c7fbae74dcf91333cc53632153e1c91e2a641f0d</id>
<content type='text'>
Doesn't make any sense to call it a port event...

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>irmd: Print ascii Ouroboros logo at startup</title>
<updated>2023-09-20T16:51:19+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2023-09-12T15:26:35+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=a032b25832a75deef7d6d8b48a0786e5838df419'/>
<id>urn:sha1:a032b25832a75deef7d6d8b48a0786e5838df419</id>
<content type='text'>
The IRMd will now print a stylized logo at startup:

      ▄▄█████▄▄▄
    ▄█▀▀     ▀▀███▄                     █
   ██    ▄▄▄   ▄███▄  ▄   ▄  ▄ ▄▄   ▄▄  █ ▄▄   ▄▄  ▄ ▄▄   ▄▄   ▄▄
   ██   █   █  █████  █   █  █▀  ▀ █  █ █▀  █ █  █ █▀  ▀ █  █ ▀▄ ▀
   ██   ▀▄▄▄▀   ▀█▀   █   █  █     █  █ █▄  █ █  █ █     █  █ ▄ ▀▄
    █▄          █      ▀▀▀ ▀ ▀      ▀▀  ▀ ▀▀   ▀▀  ▀      ▀▀   ▀▀
     ▀█▄▄▄▄▄▄▄▄▀
       ▀▀▀▀▀▀

All credits to Zen for providing the ASCII art!

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>ipcpd: Revise logging</title>
<updated>2023-08-30T15:12:41+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2023-08-30T14:07:03+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=de2b10441c7835d4221dea3b4414478f72c549f6'/>
<id>urn:sha1:de2b10441c7835d4221dea3b4414478f72c549f6</id>
<content type='text'>
This revises the logging in the IPCPs to be a more consistent and
reduce duplicate messages in nested functions.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>lib: Move protobuf definitions to pb/ directory</title>
<updated>2023-08-30T15:11:41+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2023-08-27T15:59:20+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=3a321cc77e0f6d29167a925dd706fc36e5aa7cdd'/>
<id>urn:sha1:3a321cc77e0f6d29167a925dd706fc36e5aa7cdd</id>
<content type='text'>
This moves the protobuf definition in the library to a pb/
directory. Also renames the protobuf files and does a quick review of
the #define guards in the include library to specify _LIB_ for
internal/non-public library headers.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>ipcpd: Move alloc race mitigation to common source</title>
<updated>2023-08-30T08:33:20+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2023-08-28T10:29:00+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=08332eefba9aa4b08d00e190720de4771081e855'/>
<id>urn:sha1:08332eefba9aa4b08d00e190720de4771081e855</id>
<content type='text'>
All flow allocator code was duplicating the mitigation for a race
where the IRMd response for the flow allocation with a new flow fd was
arriving before the response to the flow_req_arr. This is now moved to
the ipcp common source.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
</feed>
