State MachinesHigh-Level DesignHigh-Level Message FlowApplication InterfacesIllustrationsFIFOsFIFOs and VoIPThreadsafeEvent loops, FIFOs, and timingWorking with TCPShould you use TCP rather than UDP?How about firewalls?When should TCP be used?When should TCP not be used?Transaction DatabasesData StructuresKey structuresThreads and interactionInternet Control Message Protocol (ICMP) messagesAdvanced InteractionsNetwork Address Translation traversalDNS SRV support