I was thinking about that, but it was my understanding that once I do the sockread and do nothing with it, all the info will be gone. So like if I insert your code at the end, I will do a sockread &drenread and then it will see that the send queue is full and it will return, but than once the on:*:sockread is triggered again, I will do another sockread &drenread and lose all information inside of the previous &drenread