SLikeSoft / SLikeNet

SLikeNet™ is an Open Source/Free Software cross-platform network engine written in C++ and specifially designed for games (and applications which have comparable requirements on a network engine like games) building upon the discontinued RakNet network engine which had more than 13 years of active development.
https://www.slikenet.com/
Other
395 stars 62 forks source link

Improvements for slikenet #38

Closed Kiddinglife closed 6 years ago

Kiddinglife commented 6 years ago

Hi Luke,

I saw an issue someone posted to slikenet about the bug in sending big packet or something. But that bug had been solved out in this raknet-forked https://github.com/larku/RakNet.

this repos has also solved out other most serious bugs from official raknet and facebook-forked. It will save much of your time if you can take some time and go through its fixes and merge them to slikenet.

I saw slikenet still uses mutex and condition variable from network recv and send threads. you can improve this by applying spin lock or spsc queue similar to linux's famous wait-free fifo. I think either of spiun lock or spsc queue is better choice because game server is io-centric application and most of the time cpu cycles will not be wasted.

Regards.

Luke1410 commented 6 years ago

Thanks for bringing this up, @Kiddinglife .

Reviewing other RakNet branches (incl. larku's) is one of the things already on the list for the next release (0.2.0). I've assigned this task an issue number now for reference (SLNET-229).

The issue regarding big packets and the corresponding change from larku's fork is already fixed in the GitHub and SVN repositories and is currently planned to be shipped in SLikeNet 0.2.0. There are some open ends which apparently also larku's fork doesn't resolve entirely yet and we still have to exercise some extended testing of these changes (internal case number for this is SLNET-177).

Regarding making use of spin locks and spsc queues, I've added a review task now to evaluate where it'd be reasonable to replace the current mutex approaches. That's SLNET-230.

Kiddinglife commented 6 years ago

sounds great !

Sent from my iPhone

On 3 Jul 2018, at 7:46 pm, Stefan Hett notifications@github.com<mailto:notifications@github.com> wrote:

Thanks for bringing this up, @Kiddinglifehttps://github.com/Kiddinglife . Reviewing other RakNet branches (incl. larku's) is one of the things already on the list for the next release (0.2.0). I've assigned this task an issue number now for reference (SLNET-229).

The issue regarding big packets and the corresponding change from larku's fork is already fixed in the GitHub and SVN repositories and is currently planned to be shipped in SLikeNet 0.2.0. There are some open ends which apparently also larku's fork doesn't resolve entirely yet and we still have to exercise some extended testing of these changes (internal case number for this is SLNET-177).

Regarding making use of spin locks and spsc queues, I've added a review task now to evaluate where it'd be reasonable to replace the current mutex approaches. That's SLNET-230.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/SLikeSoft/SLikeNet/issues/38#issuecomment-402082805, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AKFrGRP8NASnC6GrTG_aU5naQH4YI_t-ks5uCz19gaJpZM4VANwW.