// ********************************************************************** // // Copyright (c) 2001 // MutableRealms, Inc. // Huntsville, AL, USA // // All Rights Reserved // // ********************************************************************** #include #include #include #include #include #include #include using namespace std; using namespace Ice; using namespace IceInternal; TransceiverPtr IceInternal::TcpConnector::connect(int timeout) { if(_traceLevels->network >= 2) { Trace out(_logger, _traceLevels->networkCat); out << "trying to establish tcp connection to " << toString(); } SOCKET fd = createSocket(false); setBlock(fd, false); doConnect(fd, _addr, timeout); if(_traceLevels->network >= 1) { Trace out(_logger, _traceLevels->networkCat); out << "tcp connection established\n" << fdToString(fd); } return new TcpTransceiver(_instance, fd); } string IceInternal::TcpConnector::toString() const { return addrToString(_addr); } IceInternal::TcpConnector::TcpConnector(const InstancePtr& instance, const string& host, int port) : _instance(instance), _traceLevels(instance->traceLevels()), _logger(instance->logger()) { getAddress(host.c_str(), port, _addr); } IceInternal::TcpConnector::~TcpConnector() { }