diff options
author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2015-07-23 09:50:10 -0700 |
---|---|---|
committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2015-07-23 09:50:10 -0700 |
commit | 3ba54c7e3559359abd8d4734aa969829309a9dab (patch) | |
tree | aafc9a03ec70c865ab52d8f05d87703751ba84af /version.h | |
parent | e2a2993b186c521f9521d1a9adeb150d27c15629 (diff) | |
download | infinitytier-3ba54c7e3559359abd8d4734aa969829309a9dab.tar.gz infinitytier-3ba54c7e3559359abd8d4734aa969829309a9dab.zip |
Eliminate some poorly thought out optimizations from the netconf/controller interaction,
and go ahead and bump version to 1.0.4.
For a while in 1.0.3 -dev I was trying to optimize out repeated network controller
requests by using a ratcheting mechanism. If the client received a network config
that was indeed different from the one it had, it would respond by instantlly
requesting it again.
Not sure what I was thinking. It's fundamentally unsafe to respond to a message
with another message of the same type -- it risks a race condition. In this case
that's exactly what could happen.
It just isn't worth the added complexity to avoid a tiny, tiny amount of network
overhead, so I've taken this whole path out.
A few extra bytes every two minutes isn't worth fretting about, but as I recall
the reason for this optimization was to save CPU on the controller. This can be
achieved by just caching responses in memory *there* and serving those same
responses back out if they haven't changed.
I think I developed that 'ratcheting' stuff before I went full time on this. It's
hard to develop stuff like this without hours of sustained focus.
Diffstat (limited to 'version.h')
-rw-r--r-- | version.h | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -41,6 +41,6 @@ /** * Revision */ -#define ZEROTIER_ONE_VERSION_REVISION 3 +#define ZEROTIER_ONE_VERSION_REVISION 4 #endif |