245 epics::iocshRegister<const char*, const char*, &iocsh_drop>(
"drop",
"client",
"channel");
246 epics::iocshRegister<int, const char*, &gwsr>(
"gwsr",
"level",
"channel");
247 epics::iocshRegister<int, const char*, const char*, &gwcr>(
"gwcr",
"level",
"client",
"channel");
259 getargs(arg, argc, argv);
262 std::cout<<
"Notice: This p2p gateway prototype has been superceded by the p4p.gw gateway\n" 263 " which has exciting new features including granular access control,\n" 264 " and status PVs including bandwidth usage reports.\n" 265 " p2p is considered deprecated by its author, and will receive\n" 266 " minimal maintainance effort going forward.\n" 267 " Users are encouraged to migrate to p4p.gw.\n" 269 " https://mdavidsaver.github.io/p4p/gw.html\n" 275 else if(arg.
debug==0)
277 else if(arg.
debug==1)
279 else if(arg.
debug==2)
281 else if(arg.
debug==3)
283 else if(arg.
debug>=4)
293 for(
size_t i=0;
i<arr.size();
i++) {
294 if(!arr[
i])
continue;
299 throw std::runtime_error(
"Client with empty name not allowed");
301 ServerConfig::clients_t::const_iterator it(arg.
clients.find(name));
303 throw std::runtime_error(std::string(
"Duplicate client name not allowed : ")+name);
305 arg.
clients[name] = configure_client(arg, client);
310 for(
size_t i=0; i<arr.size(); i++) {
311 if(!arr[i])
continue;
316 throw std::runtime_error(
"Server with empty name not allowed");
318 ServerConfig::servers_t::const_iterator it(arg.
servers.find(name));
320 throw std::runtime_error(std::string(
"Duplicate server name not allowed : ")+name);
322 arg.
servers[name] = configure_server(arg, server);
330 signal(SIGINT, sigdone);
331 signal(SIGTERM, sigdone);
332 signal(SIGQUIT, sigdone);
343 }
catch(std::exception& e){
344 std::cerr<<
"Fatal Error : "<<e.what()<<
"\n";
#define SET_LOG_LEVEL(level)
::epics::pvData::shared_vector< const PVStructurePtr > const_svector
storage_t::arg_type get() const
epicsShareExtern void refTrackRegistrar()
int epicsStdCall iocsh(const char *pathname)
PVString is special case, since it implements SerializableArray.
epics::pvData::PVStructure::shared_pointer conf
void registerRefCounter(const char *name, const size_t *counter)
std::tr1::shared_ptr< PVStructure > PVStructurePtr
Data class for a structureArray.
void epicsStdCall libComRegister(void)
static size_t num_instances
static size_t num_instances
static size_t num_instances
static size_t num_instances
static size_t num_instances