Ticket #177 (new enhancement)

Opened 8 months ago

Last modified 8 months ago

Fix possible stale p2p applications with no waiting timer running

Reported by: diederik Owned by: diederik
Priority: normal Milestone: kmess-2.0
Component: Protocol - P2P/DC Version: 1.5-pre2
Keywords: Cc:

Description (last modified by diederik) (diff)

When a contact does not respond to a P2P message, KMess cleans up the P2PApplication instance after a given timeout. There are some cases where the timer is no longer active. Those applications will be cleaned up when all switchboard connections to the contact close, but that could take too much time.

Steps to take

  • Add a "last activity" time to every P2PApplication.
  • Add a new task to the "idle" slot in ChatMaster to find stale P2P applications
  • in P2PApplication::gotMessage(), detect if the timer is still active.
  • If a P2PApplication did not have any activity for ~5 minutes, dispose it and report it's state at the console.
  • Finally, fix those cases where the code had to clean up the P2PApplication.

Change History

Changed 8 months ago by diederik

  • description modified (diff)
  • summary changed from Fix possible stale p2p application with no waiting timer running to Fix possible stale p2p applications with no waiting timer running

Changed 8 months ago by diederik

  • priority changed from major to normal
  • type changed from defect to enhancement

note that KMess already aborts the sessions, just not too fast in my option. It's still a defect, but not too serious like something breaks really hard because of it.

Note: See TracTickets for help on using tickets.