Jump to content
Registration disabled at the moment Read more... ×
Berocoder

How to organize networkcomponent

Recommended Posts

Our company uses this network component https://github.com/winddriver/Delphi-Cross-Socket.

What we have done is to copy the source and commit it to our private repository.

Several changes were also made that might not fit well with the original repository.

 

Technically, it works, but not perfect.

One big problem is that comments in the original repository are in Chinese... 🤔

I have contacted the author, but he refuses to change it. Say he is more comfortable using Chinese.

And I have no right to demand anything, as the code is open source.

So using Google Translate on our copy it takes some time.


Someone might say, why not just use another network component? There are many to choose from for Delphi.

According to our measurements, this component is extremely fast as no internal copying of data is done. It is just a stream.
And we need as short delay as possible in our application.

The component supports IOCP and I think this is the reason for it's speed and scalability.
https://docs.microsoft.com/en-us/windows/win32/fileio/i-o-completion-ports
https://www.codeproject.com/Articles/13382/A-simple-application-using-I-O-Completion-Ports-an

So thinking of how to organize this for long term uses. Options:

  • Continue as is with private snapshot of the code
  • Make a new fork of the repository. Do the translation and our internal modifications. Make a pull request to author. I doubt he will accept them
  • Make a new fork of the repository. Do the translation and our internal modifications. From time to time sync changes from original repository. Benefit of this is that other developers can use it and maybe contribute.

 

Edited by Berocoder

Share this post


Link to post

I would do option 3, fork and translate for the non-Chinese market, and hope the developer realizes it's to his benefit to update both Chinese and English repositories. 

 

Angus

  • Like 1

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×