Архитектура улазно-излазног (У/И) система вођена догађајима за BitTorrent Peer Wire комуникацију у Јави
Абстракт
Овај рад истражује примену Реактор (Reactor) патерна за управљање конкурентношћу у комуникацији путем peer wire протокола унутар BitTorrent клијента заснованог на Јави. Имплементација користи Java NIO селекторе (Selectors) за мултиплексирање улазно-излазних (У/И) догађаја кроз конкурентне везе између учесника (peers) на једној нити (thread), у комбинацији са произвођач-потрошач (producer-consumer) проточним системом за дистрибуцију порука. Детаљно су анализирани кључни имплементациони изазови, укључујући уоквиривање (framing) TCP порука, управљање OP_WRITE догађајима, као и конкурентност током фазе успостављања везе (handshake).
Кључне речи: BitTorrent, конкурентно програмирање, Java NIO, peer-to-peer мреже, peer wire протокол, Реактор патерн, TCP уоквиривање