funbox/smppex

Trigger handle_resp_timeout for in-flight messages on socket close.

archseer opened this issue · 5 comments

Back again, sorry :)

The scenario: SMSC/ESME sends a message to the other side. Seconds later, the connection gets severed and the socket closes. The :response_limit timeout is not reached yet, but the socket close terminates the connection process, and we lose the unacknowledged messages that were in flight.

Solution: Not sure what would be best here, maybe trigger handle_resp_timeout for all messages?

Hello!

In our setups keeping track of "lost" PDUs is historically done externally, but now I think this is a good idea to track them in ESME/MC.

I'll try to introduce such a tracking shortly.

We're now also tracking them externally, but just timing them all out right before/after handle_stop would mean we can avoid DB checks and make our code faster (what worker got what messages, when to retry the send)

Resolved with #21.