<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mqtt/src, branch fix-keepalive</title>
<subtitle>A simple MQTT library written in C</subtitle>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/mqtt/'/>
<entry>
<title>Try to fix keepalive handling</title>
<updated>2018-01-18T18:50:02+00:00</updated>
<author>
<name>Oskari Timperi</name>
<email>oskari.timperi@iki.fi</email>
</author>
<published>2018-01-18T18:50:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/mqtt/commit/?id=84111b11a7dcbb7720de68c84048b9b9f0dadee9'/>
<id>84111b11a7dcbb7720de68c84048b9b9f0dadee9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix keepalive handling</title>
<updated>2018-01-16T15:52:49+00:00</updated>
<author>
<name>Oskari Timperi</name>
<email>oskari.timperi@iki.fi</email>
</author>
<published>2018-01-16T15:52:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/mqtt/commit/?id=fe74d0707215320a23ed10f989e87437c4f7ea4d'/>
<id>fe74d0707215320a23ed10f989e87437c4f7ea4d</id>
<content type='text'>
Previously the code would send pings only when SocketSelect() would
timeout. This was not working when a client was subscribed to a topic
and would receive periodic messages but wouldn't itself send anything.
This meant that SocketSelect() wouldn't timeout at any point and we
wouldn't execute the check for sending a PINGREQ.

The fix is to do the check for last sent packet before calling
SocketSelect() so that if we haven't been sending anything for a while,
we really send the PINGREQ.

Fixes #10
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously the code would send pings only when SocketSelect() would
timeout. This was not working when a client was subscribed to a topic
and would receive periodic messages but wouldn't itself send anything.
This meant that SocketSelect() wouldn't timeout at any point and we
wouldn't execute the check for sending a PINGREQ.

The fix is to do the check for last sent packet before calling
SocketSelect() so that if we haven't been sending anything for a while,
we really send the PINGREQ.

Fixes #10
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix publish message serialization</title>
<updated>2017-03-18T07:18:08+00:00</updated>
<author>
<name>Oskari Timperi</name>
<email>oskari.timperi@iki.fi</email>
</author>
<published>2017-03-18T07:18:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/mqtt/commit/?id=cec17d970b99058da216ec194d19c5421802b78e'/>
<id>cec17d970b99058da216ec194d19c5421802b78e</id>
<content type='text'>
All of the publish messages regardless of qos contained the message id.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
All of the publish messages regardless of qos contained the message id.
</pre>
</div>
</content>
</entry>
<entry>
<title>Modify the code to use nonblocking sockets</title>
<updated>2017-03-18T07:17:16+00:00</updated>
<author>
<name>Oskari Timperi</name>
<email>oskari.timperi@iki.fi</email>
</author>
<published>2017-03-18T07:17:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/mqtt/commit/?id=03f7cae60919a04ff0ebc87baf3b51b9bbb1776f'/>
<id>03f7cae60919a04ff0ebc87baf3b51b9bbb1776f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix indentation</title>
<updated>2017-03-06T20:19:18+00:00</updated>
<author>
<name>Oskari Timperi</name>
<email>oskari.timperi@iki.fi</email>
</author>
<published>2017-03-06T20:19:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/mqtt/commit/?id=d97c786dbd30b4349d22b41c657f69a335f3d77a'/>
<id>d97c786dbd30b4349d22b41c657f69a335f3d77a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Free userName and password in MqttClientFree()</title>
<updated>2017-03-06T19:50:44+00:00</updated>
<author>
<name>Oskari Timperi</name>
<email>oskari.timperi@iki.fi</email>
</author>
<published>2017-03-06T19:50:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/mqtt/commit/?id=a59e39b1d70ce1e6dc731ff2af4a85af253939c3'/>
<id>a59e39b1d70ce1e6dc731ff2af4a85af253939c3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add forgotten files</title>
<updated>2017-03-06T19:32:49+00:00</updated>
<author>
<name>Oskari Timperi</name>
<email>oskari.timperi@iki.fi</email>
</author>
<published>2017-03-06T19:32:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/mqtt/commit/?id=a3dbe2dff7a56485eb4054368c2d2d1c4dee3437'/>
<id>a3dbe2dff7a56485eb4054368c2d2d1c4dee3437</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Massive refactoring of the internals</title>
<updated>2017-03-06T19:31:07+00:00</updated>
<author>
<name>Oskari Timperi</name>
<email>oskari.timperi@iki.fi</email>
</author>
<published>2017-03-06T19:31:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/mqtt/commit/?id=a062d934aef40829d9559a8ca83147ea4c44108e'/>
<id>a062d934aef40829d9559a8ca83147ea4c44108e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Support for username and password</title>
<updated>2017-02-20T18:16:06+00:00</updated>
<author>
<name>Oskari Timperi</name>
<email>oskari.timperi@iki.fi</email>
</author>
<published>2017-02-20T18:16:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/mqtt/commit/?id=e9958e8a0f5aa5fbe0a4a03be42b8bf640add6f7'/>
<id>e9958e8a0f5aa5fbe0a4a03be42b8bf640add6f7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add MqttClientSubscribeMany() and make necessary API changes</title>
<updated>2017-02-19T14:03:56+00:00</updated>
<author>
<name>Oskari Timperi</name>
<email>oskari.timperi@iki.fi</email>
</author>
<published>2017-02-19T14:03:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/mqtt/commit/?id=8198f6d6beb3c8af3768236070089112c094b92e'/>
<id>8198f6d6beb3c8af3768236070089112c094b92e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
