本文整理汇总了C++中SocketEndpoint::setLocalHost方法的典型用法代码示例。如果您正苦于以下问题:C++ SocketEndpoint::setLocalHost方法的具体用法?C++ SocketEndpoint::setLocalHost怎么用?C++ SocketEndpoint::setLocalHost使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SocketEndpoint
的用法示例。
在下文中一共展示了SocketEndpoint::setLocalHost方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: checkLocalDaFileSvr
bool CDfuPlusHelper::checkLocalDaFileSvr(const char *eps,SocketEndpoint &epout)
{
if (!eps||!*eps)
epout.setLocalHost(DAFILESRV_PORT);
else {
epout.set(eps,DAFILESRV_PORT);
if (!epout.isLocal())
return false;
}
progress("Checking for local Dali File Server\n");
if (!testDaliServixPresent(epout)) // only lookup local
runLocalDaFileSvr(epout,false,0);
return true;
}
示例2: init
// IThorSlaveActivity
virtual void init(MemoryBuffer & data, MemoryBuffer &slaveData) override
{
if(!isLocal)
{
mpTagRPC = container.queryJobChannel().deserializeMPTag(data);
mptag_t barrierTag = container.queryJobChannel().deserializeMPTag(data);
barrier.setown(container.queryJobChannel().createBarrier(barrierTag));
portbase = allocPort(NUMSLAVEPORTS);
server.setLocalHost(portbase);
sorter.setown(CreateThorSorter(this, server,&container.queryJob().queryIDiskUsage(),&queryJobChannel().queryJobComm(),mpTagRPC));
server.serialize(slaveData);
}
compare = helper->queryCompareLeft(); // NB not CompareLeftRight
keyserializer = helper->querySerializeLeft(); // hopefully never need right
if(isLightweight)
ActPrintLog("SELFJOIN: LIGHTWEIGHT");
else if(isLocal)
ActPrintLog("SELFJOIN: LOCAL");
else
ActPrintLog("SELFJOIN: GLOBAL");
}
示例3: init
// IThorSlaveActivity
virtual void init(MemoryBuffer & data, MemoryBuffer &slaveData)
{
appendOutputLinked(this);
if(!isLocal) {
mpTagRPC = container.queryJob().deserializeMPTag(data);
mptag_t barrierTag = container.queryJob().deserializeMPTag(data);
barrier.setown(container.queryJob().createBarrier(barrierTag));
portbase = allocPort(NUMSLAVEPORTS);
SocketEndpoint server;
server.setLocalHost(portbase);
sorter.setown(CreateThorSorter(this, server,&container.queryJob().queryIDiskUsage(),&container.queryJob().queryJobComm(),mpTagRPC));
server.serialize(slaveData);
}
helper = static_cast <IHThorJoinArg *> (queryHelper());
compare = helper->queryCompareLeft(); // NB not CompareLeftRight
keyserializer = helper->querySerializeLeft(); // hopefully never need right
if(isLightweight)
ActPrintLog("SELFJOIN: LIGHTWEIGHT");
else if(isLocal)
ActPrintLog("SELFJOIN: LOCAL");
else
ActPrintLog("SELFJOIN: GLOBAL");
}
示例4: main
int main( int argc, char *argv[] )
{
#if defined(WIN32) && defined(_DEBUG)
int tmpFlag = _CrtSetDbgFlag( _CRTDBG_REPORT_FLAG );
tmpFlag |= _CRTDBG_LEAK_CHECK_DF;
_CrtSetDbgFlag( tmpFlag );
#endif
InitModuleObjects();
addAbortHandler(ControlHandler);
EnableSEHtoExceptionMapping();
dummyProc();
#ifndef __64BIT__
// Restrict stack sizes on 32-bit systems
Thread::setDefaultStackSize(0x10000); // NB under windows requires linker setting (/stack:)
#endif
#ifdef _WIN32
Owned<CReleaseMutex> globalNamedMutex;
#endif
if (globals)
globals->Release();
{
Owned<IFile> iFile = createIFile("thor.xml");
globals = iFile->exists() ? createPTree(*iFile, ipt_caseInsensitive) : createPTree("Thor", ipt_caseInsensitive);
}
unsigned multiThorMemoryThreshold = 0;
Owned<IException> unregisterException;
try
{
if (argc==1)
{
usage();
return 1;
}
cmdArgs = argv+1;
mergeCmdParams(globals);
cmdArgs = argv+1;
const char *master = globals->queryProp("@MASTER");
if (!master)
usage();
const char *slave = globals->queryProp("@SLAVE");
if (slave)
{
slfEp.set(slave);
localHostToNIC(slfEp);
}
else
slfEp.setLocalHost(0);
mySlaveNum = globals->getPropInt("@SLAVENUM");
setMachinePortBase(slfEp.port);
slfEp.port = getMachinePortBase();
startSlaveLog();
setSlaveAffinity(globals->getPropInt("@SLAVEPROCESSNUM"));
startMPServer(getFixedPort(TPORT_mp));
#ifdef USE_MP_LOG
startLogMsgParentReceiver();
LOG(MCdebugProgress, thorJob, "MPServer started on port %d", getFixedPort(TPORT_mp));
#endif
SocketEndpoint masterEp(master);
localHostToNIC(masterEp);
setMasterPortBase(masterEp.port);
markNodeCentral(masterEp);
if (RegisterSelf(masterEp))
{
if (globals->getPropBool("Debug/@slaveDaliClient"))
enableThorSlaveAsDaliClient();
IDaFileSrvHook *daFileSrvHook = queryDaFileSrvHook();
if (daFileSrvHook) // probably always installed
daFileSrvHook->addFilters(globals->queryPropTree("NAS"), &slfEp);
StringBuffer thorPath;
globals->getProp("@thorPath", thorPath);
recursiveCreateDirectory(thorPath.str());
int err = _chdir(thorPath.str());
if (err)
{
IException *e = makeErrnoExceptionV(-1, "Failed to change dir to '%s'", thorPath.str());
FLLOG(MCexception(e), thorJob, e);
throw e;
}
// Initialization from globals
setIORetryCount(globals->getPropInt("Debug/@ioRetries")); // default == 0 == off
StringBuffer str;
if (globals->getProp("@externalProgDir", str.clear()))
//.........这里部分代码省略.........
示例5: main
int main( int argc, char *argv[] )
{
#if defined(WIN32) && defined(_DEBUG)
int tmpFlag = _CrtSetDbgFlag( _CRTDBG_REPORT_FLAG );
tmpFlag |= _CRTDBG_LEAK_CHECK_DF;
_CrtSetDbgFlag( tmpFlag );
#endif
InitModuleObjects();
addAbortHandler(ControlHandler);
EnableSEHtoExceptionMapping();
dummyProc();
#ifndef __64BIT__
Thread::setDefaultStackSize(0x10000); // NB under windows requires linker setting (/stack:)
#endif
#ifdef _WIN32
Owned<CReleaseMutex> globalNamedMutex;
#endif
if (globals)
globals->Release();
{
Owned<IFile> iFile = createIFile("thor.xml");
globals = iFile->exists() ? createPTree(*iFile, ipt_caseInsensitive) : createPTree("Thor", ipt_caseInsensitive);
}
unsigned multiThorMemoryThreshold = 0;
try {
if (argc==1)
{
usage();
return 1;
}
cmdArgs = argv+1;
mergeCmdParams(globals);
cmdArgs = argv+1;
const char *master = globals->queryProp("@MASTER");
if (!master)
usage();
const char *slave = globals->queryProp("@SLAVE");
if (slave)
{
slfEp.set(slave);
localHostToNIC(slfEp);
}
else
slfEp.setLocalHost(0);
if (globals->hasProp("@SLAVENUM"))
mySlaveNum = atoi(globals->queryProp("@SLAVENUM"));
else
mySlaveNum = slfEp.port; // shouldn't happen, provided by script
setMachinePortBase(slfEp.port);
slfEp.port = getMachinePortBase();
startSlaveLog();
startMPServer(getFixedPort(TPORT_mp));
#ifdef USE_MP_LOG
startLogMsgParentReceiver();
LOG(MCdebugProgress, thorJob, "MPServer started on port %d", getFixedPort(TPORT_mp));
#endif
SocketEndpoint masterEp(master);
localHostToNIC(masterEp);
setMasterPortBase(masterEp.port);
markNodeCentral(masterEp);
if (RegisterSelf(masterEp))
{
#define ISDALICLIENT // JCSMORE plugins *can* access dali - though I think we should probably prohibit somehow.
#ifdef ISDALICLIENT
const char *daliServers = globals->queryProp("@DALISERVERS");
if (!daliServers)
{
LOG(MCerror, thorJob, "No Dali server list specified\n");
return 1;
}
Owned<IGroup> serverGroup = createIGroup(daliServers, DALI_SERVER_PORT);
unsigned retry = 0;
loop {
try {
LOG(MCdebugProgress, thorJob, "calling initClientProcess");
initClientProcess(serverGroup,DCR_ThorSlave, getFixedPort(TPORT_mp));
break;
}
catch (IJSOCK_Exception *e) {
if ((e->errorCode()!=JSOCKERR_port_in_use))
throw;
FLLOG(MCexception(e), thorJob, e,"InitClientProcess");
if (retry++>10)
throw;
e->Release();
LOG(MCdebugProgress, thorJob, "Retrying");
Sleep(retry*2000);
}
//.........这里部分代码省略.........