예제 #1
0
def main():
    arg = parsearg()

    srv = pva.RpcServer()
    srv.registerService(arg.prefix + "get", get)
    srv.registerService(arg.prefix + "search", search)
    srv.registerService(arg.prefix + "annotation", annotation)
    srv.startListener()

    try:
        while True:
            time.sleep(1)
    except KeyboardInterrupt:
        print("exit")
예제 #2
0
 def __init__(self, prefix=""):
     self.srv = pva.RpcServer()
     self.srv.registerService(prefix + "get", self.get)
     self.srv.registerService(prefix + "search", self.search)
     self.srv.registerService(prefix + "annotation", self.annotation)
     self.srv.registerService(prefix + "get_nturi_style",
                              self.get_nturi_style)
     self.srv.registerService(prefix + "get_consistent_field",
                              self.get_consistent_field)
     self.srv.registerService(prefix + "get_inconsistent_field",
                              self.get_inconsistent_field)
     self.srv.registerService(prefix + "get_illegal_field",
                              self.get_illegal_field)
     self.srv.registerService(prefix + "search_nturi_style",
                              self.search_nturi_style)
예제 #3
0
def main():
    arg = parsearg()
    alarm_rpc = AlarmRPC(arg.db, arg.logdb, arg.host, arg.user, arg.root)

    srv = pva.RpcServer()
    srv.registerService(arg.prefix + "current", alarm_rpc.get_current)
    srv.registerService(arg.prefix + "current:ann", alarm_rpc.get_current_ann)
    srv.registerService(arg.prefix + "history", alarm_rpc.get_history)
    srv.registerService(arg.prefix + "history:ann", alarm_rpc.get_history_ann)
    srv.startListener()

    try:
        while True:
            time.sleep(1)
    except KeyboardInterrupt:
        print("exit")
    finally:
        alarm_rpc.close()
예제 #4
0
#!/usr/bin/env python

import pvaccess
import random
import time

srv = pvaccess.RpcServer()


def createNtTable(x):
    nRows = x.getInt('nRows')
    nColumns = x.getInt('nColumns')
    print 'Creating table with %d rows and %d columns' % (nRows, nColumns)
    ntTable = pvaccess.NtTable(nColumns, pvaccess.DOUBLE)
    labels = []
    for j in range(0, nColumns):
        labels.append('Column%s' % j)
        column = []
        for i in range(0, nRows):
            column.append(random.uniform(0, 1))
        ntTable.setColumn(j, column)
    ntTable.setLabels(labels)
    ntTable.setDescriptor('Automatically created by RPC Server')
    return ntTable


srv.registerService('createNtTable', createNtTable)

# Listen in interactive mode for couple of minutes
print 'Starting server listener'
srv.startListener()