Skip to content
C++ Event Dispatcher support TCP, UDP, Pipes, File System, TLS, Priority, On/Off, Threads, Permanent Connections, etc.
C++ CMake Other
Branch: master
Clone or download



The eventdispatcher is our Snap! network library. It allows us to communicate between all our service between any number of computers.

It was first part of our libsnapwebsites as:

  • snap_communictor.cpp/.h
  • snap_communictor_dispatcher.cpp/.h
  • tcp_client_server.cpp/.h
  • udp_client_server.cpp/.h

Now these are all broken up in separate files and work with support from libraries found in our contrib folder.


The Event Dispatcher is capable of many feats, here are the main features found in this library:

  • TCP -- plain and encrypted (TLS)
  • UDP -- direct and broadcast
  • RPC -- text based message communication
  • dispatcher -- automatically dispatch RPC messages
  • events -- support many file descriptor based events
    • accept socket (server)
    • socket read
    • socket write
    • permanent socket (auto-reconnect on loss of connection)
    • unix signal
    • unix pipe (read/write)
    • thread done
    • listen to file changes
    • any number of timers
  • priority control -- objects can be given a priority
  • easy enable/disable of objects


The project is covered by the GPL 2.0 license.


Submit bug reports and patches on github.

This file is part of the snapcpp project.

vim: ts=4 sw=4 et

You can’t perform that action at this time.