"""
from isc.cc import Session
+from isc.cc.proto_defs import *
from isc.config.config_data import ConfigData, MultiConfigData, BIND10_CONFIG_DATA_VERSION
import isc.config.module_spec
import isc
except isc.cc.SessionTimeout:
raise ModuleCCSessionError("CC Session timeout waiting for configuration manager")
+ def rpc_call(self, command, group, instance=CC_INSTANCE_WILDCARD,
+ to=CC_TO_WILDCARD, **params):
+ cmd = create_command(command, params)
+ seq = self._session.group_sendmsg(cmd, group, instance=instance,
+ to=to, want_answer=True)
+ # For non-blocking, we'll have rpc_call_async (once the nonblock actualy
+ # works)
+ reply, rheaders = self._session.group_recvmsg(nonblock=False, seq=seq)
+ code, value = parse_answer(reply)
+ return value
class UIModuleCCSession(MultiConfigData):
"""This class is used in a configuration user interface. It contains
fake_session.message_queue = [
["Spec1", None, {"result": [0, {"Hello": "a"}]}, False]
]
- result = mccs.rpc_call("Spec2", "*", "test", param1="Param 1",
+ result = mccs.rpc_call("test", "Spec2", param1="Param 1",
param2="Param 2")
self.assertEqual([
["Spec2", "*", {"command": ["test", {
"param1": "Param 1",
"param2": "Param 2"
- }]}]
+ }]}, True]
], fake_session.message_queue)
self.assertEqual({"Hello": "a"}, result)
else:
return False
- def group_sendmsg(self, msg, channel, target=None, want_answer=False):
- self.message_queue.append([ channel, target, msg, want_answer ])
+ def group_sendmsg(self, msg, group, instance=None, to=None,
+ want_answer=False):
+ self.message_queue.append([ group, instance, msg, want_answer ])
return 42
def group_reply(self, env, msg):