Hacker News new | past | comments | ask | show | jobs | submit login

> ICQ has its own TCP/IP implementation which works in the user space;

Mind expanding a little bit why is that?

Could it be because of the age of the codebase? When ICQ started the available TCP/IP stacks were not good enough and it doesn't make sense to refactor the whole project to use the system stack.

Yes, that's mostly true.

In early days, native TCP/IP stacks wasn't good at handling so many simultaneous connections as ICQ needed to handle.

So AOL just wrote their own TCP/IP stack (I think they used this implementation not only in ICQ).

In modern days, it's legacy.

I think they already removed this stack since I left company.

Probably to minimize context switching?

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact