<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ouroboros/include, branch 0.8</title>
<subtitle>Ouroboros main repository</subtitle>
<id>https://ouroboros.rocks/cgit/ouroboros/atom?h=0.8</id>
<link rel='self' href='https://ouroboros.rocks/cgit/ouroboros/atom?h=0.8'/>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/'/>
<updated>2017-12-02T13:56:20+00:00</updated>
<entry>
<title>lib, tools: Rename application process and instance</title>
<updated>2017-12-02T13:56:20+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2017-12-02T13:01:03+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=9b8a3e11c558877c09416991ff1ec840fea6d0ab'/>
<id>urn:sha1:9b8a3e11c558877c09416991ff1ec840fea6d0ab</id>
<content type='text'>
This refactors ouroboros to use "program" instead of "application
process" and "process" instead of "application process instance" to
align with current naming in current Operating Systems courses instead
of the ISO nomenclature adopted by RINA. This change permeates through
the entire implementation. Also contains some minor other refactors.

Signed-off-by: Dimitri Staessens &lt;dimitri.staessens@ugent.be&gt;
Signed-off-by: Sander Vrijders &lt;sander.vrijders@ugent.be&gt;
</content>
</entry>
<entry>
<title>build: Fix detection of python for swig bindings</title>
<updated>2017-11-10T14:30:51+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2017-11-10T14:06:22+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=3b276deb9b52ba8c667c12379c39dc46ea375609'/>
<id>urn:sha1:3b276deb9b52ba8c667c12379c39dc46ea375609</id>
<content type='text'>
The cmake build only looked for the libraries but not the interpreter,
which caused the build to fail if the library was present, but the
interpreter was not installed and executable using the "python"
command. The build now looks for the python interpreter as well.

Signed-off-by: Dimitri Staessens &lt;dimitri.staessens@ugent.be&gt;
Signed-off-by: Sander Vrijders &lt;sander.vrijders@ugent.be&gt;
</content>
</entry>
<entry>
<title>lib: Use packed struct for FRCT header access</title>
<updated>2017-11-08T20:40:28+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2017-11-08T18:25:48+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=35c43358a110758090b48dd18628bb285ffddfc6'/>
<id>urn:sha1:35c43358a110758090b48dd18628bb285ffddfc6</id>
<content type='text'>
This replaces the variable FRCT header with a packed struct, which
significantly simplifies the implementation. The shm_du_buff calls to
release the head/tail are updated to return a pointer to the original
head or the new tail (in symmetry to the alloc calls, which return a
pointer to the new head and old tail), so that it immediately points
to the structure that is needed.

The frct_pci sources are removed and frct is now fully in the frct.c
source file.

Signed-off-by: Dimitri Staessens &lt;dimitri.staessens@ugent.be&gt;
Signed-off-by: Sander Vrijders &lt;sander.vrijders@ugent.be&gt;
</content>
</entry>
<entry>
<title>lib: Refactor FRCT implementation</title>
<updated>2017-11-07T10:22:45+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2017-11-06T20:38:55+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=eef84a2afd2aa0d21072f6e7ef038fe10dcc245d'/>
<id>urn:sha1:eef84a2afd2aa0d21072f6e7ef038fe10dcc245d</id>
<content type='text'>
The frct_pci and rq headers are moved from include/ouroboros to
src/lib since they are only needed in the library. FRCT is moved to
its own source file.

FRCT takes the application PDUs, encapsulates and processes them and
hands them back. This makes it easier to disable FRCT should the
application want to write to a "raw" flow. An FRCT instance is now
allocated upon alloc and released upon dealloc.

The FRCT data structure is split into a sender and receiver connection
record. Setting a new configuration will now be done upon sending the
next data PDU, which will flag the DRF for a new run and use that
configuration. This avoids some issues should packets arrive
out-of-order, and simplifies setting a configuration.

Signed-off-by: Dimitri Staessens &lt;dimitri.staessens@ugent.be&gt;
Signed-off-by: Sander Vrijders &lt;sander.vrijders@ugent.be&gt;
</content>
</entry>
<entry>
<title>dev: Split nonblocking read and write</title>
<updated>2017-10-30T12:54:02+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2017-10-30T12:01:25+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=81cc401a4ef05a6bc5bcbda5ad27f8a60706aa02'/>
<id>urn:sha1:81cc401a4ef05a6bc5bcbda5ad27f8a60706aa02</id>
<content type='text'>
The FLOWFNONBLOCK flag now has two subflags FLOWFRNOBLOCK and
FLOWFWNOBLOCK which allows setting the behavior of read and write
independently. The default behavior is unchanged (blocking read and
write).

Signed-off-by: Dimitri Staessens &lt;dimitri.staessens@ugent.be&gt;
Signed-off-by: Sander Vrijders &lt;sander.vrijders@ugent.be&gt;
</content>
</entry>
<entry>
<title>lib: Deprecate ouroboros_init and ourboros_fini</title>
<updated>2017-10-14T11:19:10+00:00</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2017-10-12T00:15:39+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=bedd1d4eadde9ab64f924c69eba716b015599e67'/>
<id>urn:sha1:bedd1d4eadde9ab64f924c69eba716b015599e67</id>
<content type='text'>
This commit deprecates ouroboros_init and ouroboros_fini and adds them
as a constructor or destructor, causing these function to be run
automatically when a program that links to the library calls and exits
main(). For this to fully work, the library had to be split so that we
can avoid the irmd calling these functions (the IRMd has to create the
shm structures on which these calls depend).

The library is split in 3 parts: libouroboros-dev, libouroboros-irm
and libouroboros-common. The latter is linked to the other two so that
including libouroboros-dev or libouroboros-irm will also link
libouroboros-common.
</content>
</entry>
<entry>
<title>lib: Cancel tpm threads instead of marking exit</title>
<updated>2017-09-30T15:58:18+00:00</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2017-09-30T15:58:18+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=9405ad97e20686f74c06bcbac9523a8b4f10272e'/>
<id>urn:sha1:9405ad97e20686f74c06bcbac9523a8b4f10272e</id>
<content type='text'>
This makes the threadpool use pthread_cancel instead of setting an
exit flag that threadpool managed threads check periodically. This
drastically reduces CPU consumption in the irmd when running a lot of
applications. It requires cancellation handlers in the ipcp and irmd
to be implemented to ensure safe cancellation during operation and
shutdown.
</content>
</entry>
<entry>
<title>ipcpd: normal: Add Loop-Free Alternates routing</title>
<updated>2017-09-29T13:12:36+00:00</updated>
<author>
<name>Sander Vrijders</name>
<email>sander.vrijders@ugent.be</email>
</author>
<published>2017-09-27T13:33:39+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=e3dba5812b1422a79e6e77ce9f923bade5a480e4'/>
<id>urn:sha1:e3dba5812b1422a79e6e77ce9f923bade5a480e4</id>
<content type='text'>
This adds the Loop-Free Alternates (LFA) policy. In case a link goes
down a LFA may be selected to route the SDUs on without causing loops
instead of the main hop that just went down.
</content>
</entry>
<entry>
<title>ipcpd: Add threadpool manager to DHT</title>
<updated>2017-09-24T12:34:03+00:00</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2017-09-24T12:34:03+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=ff5063ad0e7902ce59864a466bd9d8d606d788e4'/>
<id>urn:sha1:ff5063ad0e7902ce59864a466bd9d8d606d788e4</id>
<content type='text'>
This adds a threadpool manager to the DHT. This was needed because the
detached thread could cause a data race on shutdown.

The threadpool manager is revised to allow multiple instances in a
single program.

The irmd and ipcp now store commands in a buffer (list) instead of a
single buffer before passing it to handler threads.
</content>
</entry>
<entry>
<title>lib: Clean up bitmap implementation</title>
<updated>2017-09-23T10:32:07+00:00</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2017-09-23T10:27:23+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=7ee95a3809aab3152837ceb5ffcd001ee9e83fde'/>
<id>urn:sha1:7ee95a3809aab3152837ceb5ffcd001ee9e83fde</id>
<content type='text'>
There was a return -1 in the allocate call which is unsafe since -1
may be a valid id in the bitmap. Since it's a data structure for
internal use, I replaced the NULL checks with assertions.
</content>
</entry>
</feed>
