2011년 3월 23일 수요일

tinyNetworkLib

0. basic system API, templates
1. socket 과 관련된 cross-platform wrapper API ( listen, accept, send, recv, set_opt 등 )
2. thread,mutex,semaphore 와 관련된 것들( 또는 Intel TBB 사용)
3. socket event handler ( poll,epoll,kqueue,IOCP )
4. circular buffer for zero-copy
5. packet slicer
6. some example packet designs and parsers
7. some network threads
8. packet dispatcher
9. packet serializer/handler
10. packet serialize using google protobuf
11. some example encryper/decryptor
12. some memory managers
13. some send threads
14. some DB threads
15. some log threads
16. some system admin threads
17. some logic worker threads
18. user manager
19. service(daemon) controller/configurator
20. some actor-based logic worker threads
21. ipc using thrift
22. some interfaces to Erlang or Haskell module and script languages(lua,python,ruby)
23. client examples ( c, c++ , lua, objective-c(iphone,MacOSX) , java, java(android), python )
24. benchmark tests

이것들을 포함하는 최소화되어 간단한 network library를 만들고, 이름을 tinyNetworkLib로 짓기로 했다.
목표는 가장 일반화된 서버 머쉰 사양에서 가장 최적화되어 잘 돌아가는 것이다.
업무 외 시간에 함께 하실 분은 연락주세요. ^^
온라인 서비스 개발에 사용하실 분도 연락주세요. ^^