summaryrefslogtreecommitdiff
path: root/src/socket_base.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/socket_base.cpp')
-rw-r--r--src/socket_base.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/socket_base.cpp b/src/socket_base.cpp
index ec5c8bd..8ee8bd3 100644
--- a/src/socket_base.cpp
+++ b/src/socket_base.cpp
@@ -39,6 +39,7 @@
#include "tcp_listener.hpp"
#include "ipc_listener.hpp"
#include "tcp_connecter.hpp"
+#include "ipc_connecter.hpp"
#include "io_thread.hpp"
#include "session_base.hpp"
#include "config.hpp"
@@ -491,6 +492,22 @@ int xs::socket_base_t::connect (const char *addr_)
io_thread_t *thread = choose_io_thread (options.affinity);
xs_assert (thread);
+ if (protocol == "tcp") {
+ tcp_connecter_t connecter (thread, NULL, options, false);
+ int rc = connecter.set_address (address.c_str());
+ if (rc != 0) {
+ return -1;
+ }
+ }
+
+ if (protocol == "ipc") {
+ ipc_connecter_t connecter (thread, NULL, options, false);
+ int rc = connecter.set_address (address.c_str());
+ if (rc != 0) {
+ return -1;
+ }
+ }
+
// Create session.
session_base_t *session = session_base_t::create (thread, true, this,
options, protocol.c_str (), address.c_str ());