SERVER

client handling multiplexing IO instead of multi-threading
(main) reason: no deadlocks and data corruption

scheduling

scheduling with priorities istead of fair scheduling
reason: clients with a fast connection can handle updates more frequently than clients with a slow connection

client list

vector istead of map
reason: associative containers don’t support iterations

NETWORK

network protocol

UDP instead of TCP
reason: retransmission takes to much time

protocol level 0 (raw data) static buffers instead of dynamic buffers

protocol level 1 (compression)