User login

Weekly Report - 15/02/2013




Spent a major part of the week reading up on and adding threading and using libfifo with the collector.

First, I added support for using Libfifo in order to write the buffer to a memory-backed FIFO with a default size of 100MB(which can be changed via options). Then, I wrote out the FIFO to each of the clients through their fd by using the functions provided in the Libfifo API. Tested and got it working like before.

Initially, clients that connected to the server were sent statistics every X seconds(where X is a number specified in the options). Concurrency issues would arise when clients would try connecting/disconnecting during a stat export, which implies that the client list would need to be updated while the exporting process was iterating over it. After discussing this with Shane, we decided to use threading and to create mutexes around the client list when it was being read from/written to. The server can now handle disconnects/new connections while exporting statistics without crashing.

Spent Friday at home and got started on writing the Background and Libprotoident chapters of the report(ch. 2 & 3 respectively). Worked during the weekend too and nearly done with the Background and almost half-way through the 3rd chapter.

Plan for the next week is to get the background section's draft done asap and move it to LaTex and get it checked before the end of the week if possible. I also have a list of features that I need to tackle in the collector.