Send a request to get the roles of all client processes.
| 94 | |
| 95 | |
| 96 | class GetRoleRequest(rpc.Request): |
| 97 | """Send a request to get the roles of all client processes.""" |
| 98 | |
| 99 | def __init__(self): |
| 100 | self.msg = GET_ROLE_MSG |
| 101 | self.group_id = rpc.get_group_id() |
| 102 | |
| 103 | def __getstate__(self): |
| 104 | return self.msg, self.group_id |
| 105 | |
| 106 | def __setstate__(self, state): |
| 107 | self.msg, self.group_id = state |
| 108 | |
| 109 | def process_request(self, server_state): |
| 110 | return GetRoleResponse(server_state.roles[self.group_id]) |
| 111 | |
| 112 | |
| 113 | # The key is role, the value is a dict of mapping RPC rank to a rank within the role. |