<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ouroboros/src/tools/oping, branch 0.11.4</title>
<subtitle>Ouroboros main repository</subtitle>
<id>http://133.ip-51-38-114.eu/cgit/ouroboros/atom?h=0.11.4</id>
<link rel='self' href='http://133.ip-51-38-114.eu/cgit/ouroboros/atom?h=0.11.4'/>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/'/>
<updated>2018-03-16T11:05:40+00:00</updated>
<entry>
<title>tools: Use non-blocking read in servers</title>
<updated>2018-03-16T11:05:40+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2018-03-15T20:14:41+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=4e775400564cc02b51978dc2671c126ff8da5e9d'/>
<id>urn:sha1:4e775400564cc02b51978dc2671c126ff8da5e9d</id>
<content type='text'>
The oping and ocbr servers were using non-blocking read/writes. This
caused writes to fail on high-performance tests if the buffer got
full, instead of waiting for a slot in the buffer. The write failure
caused the server to quit. This fixes the tools by setting the I/O to
blocking write and non-blocking read.

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 PTHREAD_COND_CLOCK for blocking reads</title>
<updated>2018-03-10T12:01:23+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2018-03-10T10:53:31+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=9b6fdc1c2abe85008610063d800edf80e5011a4d'/>
<id>urn:sha1:9b6fdc1c2abe85008610063d800edf80e5011a4d</id>
<content type='text'>
The rbuff uses the PTHREAD_COND_CLOCK for its condition variables, but
the flow_read was passing a time it got from the CLOCK_REALTIME_COARSE
clock. This causes the blocking reads not to timeout correctly.

The oping was updated to detect server timeouts and finish gracefully.

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>tools: Don't cancel reader thread in oping</title>
<updated>2018-03-05T09:43:30+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2018-03-04T09:39:51+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=dde082e5f37457f8914857714093c534ccf8d845'/>
<id>urn:sha1:dde082e5f37457f8914857714093c534ccf8d845</id>
<content type='text'>
The reader thread was cancelled as soon as the writer was finished,
which resulted in missed responses and misreported packet loss.

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: Allow out-of-tree build of tools</title>
<updated>2018-02-14T16:58:51+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2018-02-14T12:55:00+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=91012d9af758a48c4c57fc940dfcc8a581fa46ac'/>
<id>urn:sha1:91012d9af758a48c4c57fc940dfcc8a581fa46ac</id>
<content type='text'>
This removes the dependencies for the tools on some ouroboros internal
headers (endian.h and time_utils.h) so they can be built out-of-tree.
The echo-app tool has been renamed oecho and the cbr tool has been
renamed ocbr.

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: Use GNUInstallDirs instead of hardcoded values</title>
<updated>2018-02-06T17:27:38+00:00</updated>
<author>
<name>Sander Vrijders</name>
<email>sander.vrijders@ugent.be</email>
</author>
<published>2018-02-06T16:17:28+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=544ad6f9759de6acc109307caee2100478cba8ed'/>
<id>urn:sha1:544ad6f9759de6acc109307caee2100478cba8ed</id>
<content type='text'>
This changes the build to use GNUInstallDirs instead of hardcoded
values. Package maintainers can then override these defaults by
passing the correct value to cmake on the command line.

Signed-off-by: Sander Vrijders &lt;sander.vrijders@ugent.be&gt;
</content>
</entry>
<entry>
<title>include, src: Update copyright to 2018</title>
<updated>2018-01-09T08:53:56+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2018-01-09T07:18:02+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=0160f2df8335aaa516d13334042e429a0bbfd0ad'/>
<id>urn:sha1:0160f2df8335aaa516d13334042e429a0bbfd0ad</id>
<content type='text'>
Happy New Year, Ouroboros.

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>tools: Fix SEGV in oping client</title>
<updated>2017-11-22T08:57:36+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2017-11-21T21:13:03+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=4adbe0c39415ac0848c4a5e14733369c3bac3a0f'/>
<id>urn:sha1:4adbe0c39415ac0848c4a5e14733369c3bac3a0f</id>
<content type='text'>
The oping client tried to cancel non-created pthreads if it was killed
during flow allocation, which caused a SEGV. The threads are now
stopped using a variable.

Fixes bug #2.

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>tools: Send time in oping packets</title>
<updated>2017-11-19T09:32:22+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2017-11-18T03:12:52+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=cab0e5a0fed570407a3e35a246c784b82953f5bb'/>
<id>urn:sha1:cab0e5a0fed570407a3e35a246c784b82953f5bb</id>
<content type='text'>
The oping tool now stores the time it sent the packet inside the SDU,
simplifying the implementation.

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>tools: Change license to 3 clause BSD</title>
<updated>2017-10-24T18:11:05+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2017-10-24T17:12:50+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=18d08beaba217ed2144b85f3e151bfb6d614a895'/>
<id>urn:sha1:18d08beaba217ed2144b85f3e151bfb6d614a895</id>
<content type='text'>
A more permissive license is needed on the tools since they serve as
example code for programs built on top of the ouroboros-dev and
ouroboros-irm libraries.

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='http://133.ip-51-38-114.eu/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>
</feed>
