X-Git-Url: http://git.tdb.fi/?p=libs%2Fnet.git;a=blobdiff_plain;f=source%2Fnet%2Freceiver.cpp;fp=source%2Fnet%2Freceiver.cpp;h=46c12f361894e4aa48c9a3ffb3b7f27b73283933;hp=0000000000000000000000000000000000000000;hb=b451f834a6b5440fb1064cf96c69eb5447ae86cf;hpb=3f46fef7032d97b0dd82971ffece1062fd6b05b8 diff --git a/source/net/receiver.cpp b/source/net/receiver.cpp new file mode 100644 index 0000000..46c12f3 --- /dev/null +++ b/source/net/receiver.cpp @@ -0,0 +1,16 @@ +#include "receiver.h" + +namespace Msp { +namespace Net { + +void DynamicDispatcher::receive(unsigned packet_id, const Variant &packet) +{ + auto i = lower_bound_member(targets, packet_id, &Target::packet_id); + if(i==targets.end() || i->packet_id!=packet_id) + throw key_error(packet_id); + + i->func(*i->receiver, packet); +} + +} // namespace Net +} // namespace Msp