Once again I have reservations about the approach that I chose in the first place :)

I'm wondering about the performance implications of cancelling/resetting a vm timer on every message.

I would like to run a tiny benchmark on erlang on an m1.xlarge where we run the buffer function with and without the timeout related code in a tight loop and see what the overhead is. If the functions are pretty close in speed, then this is all good, if they differ by orders of magnitude, then I'd run the entire tcpsyslog drain in a loop and see how fast it goes.

----

The other thing that occurs to me is that maybe we shouldn't be twiddling the timeout in the disconnected state as we're not idling (but then of course we'd have to set the timer in the transition from disconnected to ready to send) - anyone have an opinion for or against that?