Author Topic: Retrieving unsent reliable packets after ID_CONNECTION_LOST  (Read 2914 times)

imays

  • Not-a-newbie
  • *
  • Posts: 32
  • Karma: -1
    • View Profile
Hi,

I think it'll be a great help for some features such as making a code which linger after disconnection, if Raknet can retrieve unsent reliable messages after ID_CONNECTION_LOST. I checked ReliabilityLayer.resendQueue and I guess its contents are split or coalescenced and cannot be reused.

Thanks.


Rak'kar

  • Administrator
  • Hero Member
  • *****
  • Posts: 6895
  • Karma: 291
    • View Profile
    • RakNet
Re: Retrieving unsent reliable packets after ID_CONNECTION_LOST
« Reply #1 on: May 24, 2006, 08:57:41 AM »
That's a good idea.  With the current architecture I can give you everything except messages larger than the MTU that were in the process of transmission but didn't necessarily complete.  That means to implement the feature I'd either have to accept that limitation (which isn't intuititve) or else I'd have to keep very large messages in memory in addition to the split form of those messages (takes more memory), or else change my splitting code to use split markers, rather than split up-front according to the MTU.  The last method is probably what I'll go with since I need to do that anyway for Path MTU detection.  It's hard though.


Oliver Smith

  • Full Member
  • ***
  • Posts: 173
  • Karma: 7
  • Oliver Smith
    • View Profile
    • Oliver's blog
Re: Retrieving unsent reliable packets after ID_CONNECTION_LOST
« Reply #2 on: May 29, 2006, 01:00:15 PM »
Perhaps you could make this an initialization parameter, so that the user can let Raknet know what behavior they want. In the first pass you can make Raknet throw an exception indicating that the KEEP_SPLITS_TOO part isn't yet implemented. That way, while still not intuitive, the user has to at least be vaguely aware of having it turned on.