[drats_users] D-RATS 0.3.2b1
Dan Smith
Sat Oct 31 09:32:41 PDT 2009
Hi all,
I just posted 0.3.2b1. This beta includes some changes to the file
transfer logic, which is potentially destabilizing, so I'd appreciate
some testing from folks. The changes are:
- Fix station type QST
- Make the message router aware of the last heard time of a station and
ping the station if it has been a while instead of just blindly
initiating a transfer
- Fix continuously adding "RE:" to replied message subjects
- Add a preference option to control whether or not the original message
is included on a reply
- Add gratuitous message routing with reverse path on reply
- Add some brains to the message router to prevent it from sending email
messages to itself in a loop and to better determine which of those
received via email should be sent out to another station
- Add a Send/Receive button to the toolbar which lets you trigger the
automatic message router once, without having to have it always
enabled
- Add some tooltips to the messages tab to explain things like
"Send/Receive" and "Forward"
- Major cleanup of the session code, removing the legacy "non-pipelined"
transport code
- Make the transport layer measure some stats about the connection speed
and latency and use those to better choose ACK timeout values
- Cut down some of the delays involved in the initial handshake between
stations when starting a session
- Allow the transfer logic to grow/shrink its window size according to
the conditions of the transfer.
Some notes about these changes:
- Gratuitous message routing allows you to put something like
"N7QQU,N7OGM,KK7DS" in the destination field of a message. If each
station along the way has message forwarding enabled, then they will
obey that route and the message will pass from the sender to N7QQU,
then to N7OGM, and then to KK7DS. This allows you to specify the best
route for the message to take, if that is advantageous. A reply to a
message routed in this manner will reverse the route so that the reply
goes back along the same path automatically.
- The "last heard" logic should help make automatic forwarding a little
more bandwidth-conscious in that it will make sure it can ping a
station it hasn't heard in a while before trying to transfer a message
to it.
- The transfer logic has been changed in such a way that it *should*
make better decisions about ACK timeouts when messages pass through
multiple networks of varying latency. If you're seeing suboptimal
behavior through a repeater or proxy, this should help.
- The transfer logic also now tries to improve performance when the
connection is good by scaling up the amount of data that is sent each
time. The "pipeline blocks" setting is still the default. However,
each time the remote station reports that it got every block that we
sent, we increase the window by one. If we sent four blocks that
time, then next time we send five. If those are received, then we
send six the next time, and so on. Any time we miss a block, we drop
back to the default and re-evaluate. If we miss a block from the
default, we start reducing the window size by one until we get to a
minimum. This change should help automatically accelerate long
transfers when the connection is good.
Feedback on any or all of this would be appreciated.
Thanks!
--
Dan Smith
dsmith#danplanet.com, s/#/@/
www.danplanet.com
KK7DS
More information about the drats_users
mailing list