You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
760 B
35 lines
760 B
#include "dvlnet/abstract_net.h" |
|
|
|
#include "stubs.h" |
|
#ifndef NONET |
|
#include "dvlnet/cdwrap.h" |
|
#include "dvlnet/tcp_client.h" |
|
#include "dvlnet/udp_p2p.h" |
|
#endif |
|
#include "dvlnet/loopback.h" |
|
|
|
namespace dvl { |
|
namespace net { |
|
|
|
std::unique_ptr<abstract_net> abstract_net::make_net(provider_t provider) |
|
{ |
|
#ifdef NONET |
|
return std::unique_ptr<abstract_net>(new loopback); |
|
#else |
|
switch (provider) { |
|
case SELCONN_TCP: |
|
return std::unique_ptr<abstract_net>(new cdwrap<tcp_client>); |
|
#ifdef BUGGY |
|
case SELCONN_UDP: |
|
return std::unique_ptr<abstract_net>(new cdwrap<udp_p2p>); |
|
#endif |
|
case SELCONN_LOOPBACK: |
|
return std::unique_ptr<abstract_net>(new loopback); |
|
default: |
|
ABORT(); |
|
} |
|
#endif |
|
} |
|
|
|
} // namespace net |
|
} // namespace dvl
|
|
|