+++ /dev/null
-/*
- * address_helper.cc
- *
- * Created on: Oct 27, 2013
- * Author: matt
- */
-
-#include <netdb.h>
-
-#include "common/address_helper.h"
-#include "boost/regex.hpp"
-
-using namespace std;
-
-// decode strings like "tcp://<host>:<port>"
-int entity_addr_from_url(entity_addr_t *addr /* out */, const char *url)
-{
- using namespace boost;
- using std::endl;
-
- regex expr("(tcp|rdma)://([^:]*):([\\d]+)");
- cmatch m;
-
- if (regex_match(url, m, expr)) {
- string host(m[2].first, m[2].second);
- string port(m[3].first, m[3].second);
- addrinfo hints;
- memset(&hints, 0, sizeof(hints));
- hints.ai_family = PF_UNSPEC;
- addrinfo *res;
- int error = getaddrinfo(host.c_str(), NULL, &hints, &res);
- if (! error) {
- addr->set_sockaddr((sockaddr*)res->ai_addr);
- addr->set_port(std::atoi(port.c_str()));
- freeaddrinfo(res);
- return 0;
- }
- }
-
- return 1;
-}
-