BIND 10 #2676: Provide ccsession::rpc_call and replace usual calls with it
BIND 10 Development
do-not-reply at isc.org
Mon Feb 18 11:45:48 UTC 2013
#2676: Provide ccsession::rpc_call and replace usual calls with it
-------------------------------------+-------------------------------------
Reporter: vorner | Owner:
Type: enhancement | UnAssigned
Priority: medium | Status:
Component: Inter-module | reviewing
communication | Milestone:
Keywords: | Sprint-20130219
Sensitive: 0 | Resolution:
Sub-Project: Core | CVSS Scoring:
Estimated Difficulty: 5 | Defect Severity: N/A
Total Hours: 0 | Feature Depending on Ticket:
| Add Hours to Ticket: 0
| Internal?: 0
-------------------------------------+-------------------------------------
Changes (by vorner):
* owner: vorner => UnAssigned
* status: accepted => reviewing
Comment:
I decided to split the ticket in half, so this one is the python part.
I'll
create the ticket for C++ part and take it in a short time, but I think
the
python part can be reviewed separately, as it is independent, and there's
no
need to wait with that.
I decided to put it onto the `ModuleCCSession`, since it creates the
command
using `create_command` and parses the answer by `parse_reply`, and these
are in
`isc.config.session`. This, however, is little bit problematic. There are
two
modules that have one `ModuleCCSession`, but send commands through a
separate
ccsession, due to some problems with threads (these are `XfrIn` and
`ZoneMrg`).
I'd like to discuss what to do with these, I have several ideas:
* Move the `create_command` and `parse_reply` (and the others) to
`isc.cc`.
This, however, has the drawback that a lot of code would need to be
changed
(because, for example, some of them throw `ModuleCCSessionError`).
* Create two `ModuleCCSession`s for the modules (and don't start the
others to
listen for commands, and provide empty command handlers for them). Use
them
for the rpc calls.
* Solve the problems with threads.
* Leave it as it is, with the FIXME as in the branch and manually
specifying
`want_answer`.
I would wait with changelog until the C++ part is complete as well.
I kept the `rpc_call` name, as the other methods there seem to be named in
this
manner. So I tried to keep consistency inside the whole class.
--
Ticket URL: <http://bind10.isc.org/ticket/2676#comment:4>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list