bool HTTPConnection::canReuse(const ConnectionParams ¶ms_) const { return ( available && params.getHostname() == params_.getHostname() && params.getScheme() == params_.getScheme() && params.getPort() == params_.getPort() ); }
int main () { try { shared_ptr<THttpClient> transport( new THttpClient("datahub.csail.mit.edu", 80, "/service")); shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport)); DataHubClient client(protocol); transport->open(); double version = client.get_version(); cout << "Version: " << version << endl; ConnectionParams params = ConnectionParams(); params.__set_user("anantb"); params.__set_password("anant"); Connection conn; client.open_connection(conn, params); ResultSet res; client.execute_sql( res, conn, "select * from anantb.test.demo", vector<string>()); // print field names for(vector<string>::const_iterator field_it = res.field_names.begin(); field_it != res.field_names.end(); ++field_it) { cout << *field_it << "\t"; } cout << endl; // print tuple values for(vector<Tuple>::const_iterator tuple_it = res.tuples.begin(); tuple_it != res.tuples.end(); ++tuple_it) { for(vector<string>::const_iterator cell_it = (*tuple_it).cells.begin(); cell_it != (*tuple_it).cells.end(); ++cell_it) { cout << *cell_it << "\t"; } cout << endl; } transport->close(); } catch (TException &tx) { cout << "ERROR: " << tx.what(); } return 0; }
bool HTTPChunkSource::prepare() { if(prepared) return true; if(!connManager) return false; ConnectionParams connparams = params; /* can be changed on 301 */ unsigned int i_redirects = 0; while(i_redirects++ < HTTPConnection::MAX_REDIRECTS) { if(!connection) { connection = connManager->getConnection(connparams); if(!connection) break; } requeststatus = connection->request(connparams.getPath(), bytesRange); if(requeststatus != RequestStatus::Success) { if(requeststatus == RequestStatus::Redirection) { HTTPConnection *httpconn = dynamic_cast<HTTPConnection *>(connection); if(httpconn) connparams = httpconn->getRedirection(); connection->setUsed(false); connection = NULL; if(httpconn) continue; } break; } /* Because we don't know Chunk size at start, we need to get size from content length */ contentLength = connection->getContentLength(); prepared = true; return true; } return false; }
bool HTTPConnection::canReuse(const ConnectionParams ¶ms_) const { if( !available || params_.usesAccess() ) return false; char *psz_proxy_url = vlc_getProxyUrl(params_.getUrl().c_str()); if(psz_proxy_url) { ConnectionParams proxy(psz_proxy_url); free(psz_proxy_url); return (proxyparams.getHostname() == proxy.getHostname() && proxyparams.getScheme() == proxy.getScheme() && proxyparams.getPort() == proxy.getPort()); } else return (params.getHostname() == params_.getHostname() && params.getScheme() == params_.getScheme() && params.getPort() == params_.getPort()); }
void Multiplexer::StartAllStreams( void ) { for ( size_t i = 0; i < g_pConnectionParams->Count(); i++ ) { ConnectionParams *cp = g_pConnectionParams->Item(i); if( cp->bEnabled ) { #ifdef __WXGTK__ if( cp->GetDSPort().Contains(_T("Serial"))) { if( ! g_bserial_access_checked ){ if( !CheckSerialAccess() ){ } g_bserial_access_checked = true; } } #endif dsPortType port_type = cp->IOSelect; DataStream *dstr = new DataStream( this, cp->Type, cp->GetDSPort(), wxString::Format(wxT("%i"),cp->Baudrate), port_type, cp->Priority, cp->Garmin ); dstr->SetInputFilter(cp->InputSentenceList); dstr->SetInputFilterType(cp->InputSentenceListType); dstr->SetOutputFilter(cp->OutputSentenceList); dstr->SetOutputFilterType(cp->OutputSentenceListType); dstr->SetChecksumCheck(cp->ChecksumCheck); cp->b_IsSetup = true; AddStream(dstr); } } }
void getNewConnectionParams(ConnectionParams& params) { params.setListener( PingTest::create() ); params.setTimeout(TIMEOUT); }