Page MenuHomeClusterLabs Projects

Use asynchronous communication for liblrmd commands with replies
Open (Work In Progress), HighPublic

Assigned To
Authored By
kgaillot
Tue, Oct 22, 4:25 PM
Tags
  • Restricted Project
  • Restricted Project
  • Restricted Project
Referenced Files
None
Subscribers

Description

Currently, lrmd_send_command() with expect_reply set to TRUE, and lrmd_handshake(), call lrmd_send_xml() with a non-NULL reply. That causes it to call crm_ipc_send() or lrmd_tls_send_recv() with a blocking timeout.

We want the commands to be asynchronous for internal callers, so they get a callback when the reply is received (or after the timeout).

lrmd_send_command() is currently used by most of the lrmd_t methods. The interfaces will need to be left as-is since they are public. If possible, we can set some lrmd_t flag for internal connections and use async when that's set, otherwise we may need a duplicate set of async methods (which can be regular internal functions rather than part of lrmd_api_operations_t).

See also:

Event Timeline

kgaillot created this task.
kgaillot created this object with edit policy "Restricted Project (Project)".
clumens raised the priority of this task from Low to High.Thu, Oct 31, 4:55 PM
kgaillot changed the task status from Open to WIP.Mon, Nov 4, 11:20 AM
kgaillot updated the task description. (Show Details)
kgaillot added a project: Restricted Project.
kgaillot moved this task from Restricted Project Column to Restricted Project Column on the Restricted Project board.Mon, Nov 4, 11:22 AM