Skipping the delay for zero values is good. It occurs to me this should also just short circuit and return if `value == 0 and conn.ready == value` as there is no need to update the server if it's already at zero.

cc:@mreiferson. this might be able to be simplified as `if value == conn.ready: return`. thoughts?