Esempio n. 1
0
class RPCResponseHandler:
    def __init__(self, host, port):
        self.srv = RpcServer()
        self.host = host
        self.port = port

    @property
    def conn(self):
        return MongoClient(self.host, self.port)

    @property
    def database(self):
        return self.conn.mockdata

    def make_mock_table(self):
        cols = {"column0": [DOUBLE], "column1": [DOUBLE], "column2": [DOUBLE]}
        colstruct = OrderedDict(sorted(cols.items(), key=lambda t: t[0]))
        struct = OrderedDict([("labels", [STRING]), ("value", colstruct)])
        pvobj = PvObject(struct)
        pvobj.setScalarArray("labels", ["x", "y", "z"])
        return pvobj

    def get_by_id(self, x):
        print("here I am at the query")
        id = x.getString("id")
        # self.database.find({'id': id})
        tbl = self.make_mock_table()
        tbl.setStructure({"column0": [0, 1, 2, 3, 5], "column1": [4, 6, 7, 8, 9], "column2": [10, 11, 12, 13, 14]})
        return tbl

    def get_by_time(self, x):
        print("here I am at the query")
        id = x.getDouble("time")
        # self.database.find({'id': id})
        tbl = self.make_mock_table()
        tbl.setStructure({"column0": [0, 1, 2, 3, 5], "column1": [4, 6, 7, 8, 9], "column2": [10, 11, 12, 13, 14]})
        return tbl

    def register_listen(self):
        self.srv.registerService("get_by_id", self.get_by_id)
        self.srv.registerService("get_by_time", self.get_by_time)
        self.srv.listen()
Esempio n. 2
0
#!/usr/bin/env python

import time
from pvaccess import PvObject
from pvaccess import RpcServer
from pvaccess import STRING


### pvAccess RPC server
def echo(x):  # x is an instance of PvObject
    print 'Got object: ', x
    return x


srv = RpcServer()
srv.registerService('echo', echo)

# Listen in interactive mode for couple of minutes
print 'Starting server listener'
srv.startListener()
cnt = 30
while cnt > 0:
    print('Remaining listener uptime: %d' % cnt)
    time.sleep(1)
    cnt = cnt - 1
print 'Stopping server listener'
srv.stopListener()
Esempio n. 3
0
 def __init__(self, host, port):
     self.srv = RpcServer()
     self.host = host
     self.port = port