Skip to content

Commit

Permalink
add helper to create message response
Browse files Browse the repository at this point in the history
Signed-off-by: Heiko Thiery <heiko.thiery@kontron.com>
  • Loading branch information
hthiery committed Oct 15, 2018
1 parent e450465 commit 8420e94
Show file tree
Hide file tree
Showing 6 changed files with 11 additions and 5 deletions.
2 changes: 1 addition & 1 deletion pyipmi/interfaces/aardvark.py
Expand Up @@ -199,7 +199,7 @@ def send_and_receive(self, req):
netfn=req.netfn,
cmdid=req.cmdid,
payload=encode_message(req))
rsp = create_message(req.netfn + 1, req.cmdid)
rsp = create_message(req.netfn + 1, req.cmdid, req.group_extension)
decode_message(rsp, rx_data)

log().debug('IPMI Response [%s])', rsp)
Expand Down
2 changes: 1 addition & 1 deletion pyipmi/interfaces/ipmb.py
Expand Up @@ -168,7 +168,7 @@ def decode_bridged_message(rx_data):

while array('B', rx_data)[5] == constants.CMDID_SEND_MESSAGE:
rsp = create_message(constants.NETFN_APP + 1,
constants.CMDID_SEND_MESSAGE)
constants.CMDID_SEND_MESSAGE, None)
decode_message(rsp, rx_data[6:])
check_completion_code(rsp.completion_code)
rx_data = rx_data[7:-1]
Expand Down
2 changes: 1 addition & 1 deletion pyipmi/interfaces/ipmitool.py
Expand Up @@ -144,7 +144,7 @@ def send_and_receive(self, req):
rsp_data = self.send_and_receive_raw(req.target, req.lun, req.netfn,
req_data.tostring())

rsp = create_message(req.netfn + 1, req.cmdid)
rsp = create_message(req.netfn + 1, req.cmdid, req.group_extension)
decode_message(rsp, rsp_data)
log().debug('IPMI Response [%s])', rsp)

Expand Down
2 changes: 1 addition & 1 deletion pyipmi/interfaces/rmcp.py
Expand Up @@ -567,6 +567,6 @@ def send_and_receive(self, req):
netfn=req.netfn,
cmdid=req.cmdid,
payload=encode_message(req))
rsp = create_message(req.netfn + 1, req.cmdid)
rsp = create_message(req.netfn + 1, req.cmdid, req.group_extension)
decode_message(rsp, rx_data)
return rsp
1 change: 1 addition & 0 deletions pyipmi/msgs/__init__.py
Expand Up @@ -19,6 +19,7 @@
from .registry import create_request_by_name
from .registry import create_response_by_name
from .registry import create_message
from .registry import create_response_message

from .message import Message
from .message import ByteArray
Expand Down
7 changes: 6 additions & 1 deletion pyipmi/msgs/registry.py
Expand Up @@ -60,7 +60,10 @@ def register_class(self, cls):
return cls

def create(self, netfn, cmdid, group_extension, *args, **kwargs):
return self.registry[(netfn, cmdid)](*args, **kwargs)
return self.registry[(netfn, cmdid, group_extension)](*args, **kwargs)

def create_response(self, req):
return self.create(self, req.netfn + 1, req.cmdid, req.group_extension)

def create_request_by_name(self, name, *args, **kwargs):
return self.registry[name + "Req"](*args, **kwargs)
Expand All @@ -73,6 +76,8 @@ def create_response_by_name(self, name, *args, **kwargs):
register_message_class = partial(MessageRegistry.register_class,
DEFAULT_REGISTRY)
create_message = partial(MessageRegistry.create, DEFAULT_REGISTRY)
create_response_message = partial(MessageRegistry.create_response,
DEFAULT_REGISTRY)
create_request_by_name = partial(MessageRegistry.create_request_by_name,
DEFAULT_REGISTRY)
create_response_by_name = partial(MessageRegistry.create_response_by_name,
Expand Down

0 comments on commit 8420e94

Please sign in to comment.