Opened 11 years ago

Closed 11 years ago

Last modified 11 years ago

#579 closed defect (fixed)

Data loss with TCP sockets (thanks Helmut Wolf for the report)

Reported by: bennylp Owned by: bennylp
Priority: normal Milestone: release-1.0-rc1
Component: pjsip Version: trunk
Keywords: Cc:
Backport to 1.x milestone: Backported:

Description

It seems that nobody is checking whether the asynchronous send() operation only sent partial data when the operation completes. The ioqueue doesn't seem to handle it, nor the SIP transport. This would cause data loss on high traffic.

The best solution would be to handle this in the active socket object and modify the SIP transport to use active socket (rather than using the ioqueue directly). But this is quite a major modification and needs some more test framework.

Change History (4)

comment:1 Changed 11 years ago by bennylp

r2185:

  • Initial work in the active socket to send whole data

comment:2 Changed 11 years ago by bennylp

  • Milestone changed from release-0.9.5 to release-1.0

comment:3 Changed 11 years ago by bennylp

  • Resolution set to fixed
  • Status changed from new to closed

Fixed in r2188:

  • Changed SIP transport to use active socket
  • Also added SIP more TCP transport tests to reproduce the bug

comment:4 Changed 11 years ago by bennylp

  • Milestone changed from release-1.0 to release-1.0-rc1
Note: See TracTickets for help on using tickets.