프로젝트 주소 : https://github.com/Yoseob/Trevi
현재 저희가 개발하고 있는 웹 어플리케이션 서버는 non-blocking I/O model로 이를 비동기로 처리하였습니다.
이러한 비동기 동작을 위해 Swift에서 제공하는 GCD를 사용하였습니다. (https://github.com/apple/swift-corelibs-libdispatch)
프로젝트가 GCD에 종속되는 것을 방지하고, 좀 더 효율적인 동작을 위해 현재 GCD를 사용하지 않고 비동기 동작을 구현하려고 합니다. 하지만 비동기 소켓에 대해 제가 배울 수 있는 자료가 너무 없어서 혹시 이에 대해 잘 알고 계시는 분이 있다면 접근 방향이나 참고 자료에 대해 조언을 구합니다. 또한 커널영역에서 사용자가 호출한 system call이 종료시점을 어떻게 감지하여 사용자에게 알려주는지와 시스템에서 처리방식이 multiplexing과 비교하여 어떻게 다른지 궁금합니다. (현재 타겟 OS는 OS X 와 Ubuntu 14.04, 15.10 입니다.)
프로젝트 주소 : https://github.com/Yoseob/Trevi
현재 저희가 개발하고 있는 웹 어플리케이션 서버는 non-blocking I/O model로 이를 비동기로 처리하였습니다.
이러한 비동기 동작을 위해 Swift에서 제공하는 GCD를 사용하였습니다. (https://github.com/apple/swift-corelibs-libdispatch)
프로젝트가 GCD에 종속되는 것을 방지하고, 좀 더 효율적인 동작을 위해 현재 GCD를 사용하지 않고 비동기 동작을 구현하려고 합니다. 하지만 비동기 소켓에 대해 제가 배울 수 있는 자료가 너무 없어서 혹시 이에 대해 잘 알고 계시는 분이 있다면 접근 방향이나 참고 자료에 대해 조언을 구합니다. 또한 커널영역에서 사용자가 호출한 system call이 종료시점을 어떻게 감지하여 사용자에게 알려주는지와 시스템에서 처리방식이 multiplexing과 비교하여 어떻게 다른지 궁금합니다. (현재 타겟 OS는 OS X 와 Ubuntu 14.04, 15.10 입니다.)