Имена функций для отправки и получения RPC? - PullRequest
0 голосов
/ 26 августа 2010

Я использую витую. У меня настроены протоколы, чтобы при отправке RPC я делал protocol.send("update_status", data). Чтобы документировать, какие RPC я реализовал, я делаю отдельный вызов функции для каждого, поэтому в этом случае я бы вызвал REQUEST_UPDATE_STATUS(data), чтобы отправить этот RPC. Когда протокол получает RPC, функция вызывается на основе своего имени, в данном случае CMD_UPDATE_STATUS.

Проблема в том, что REQUEST и CMD немного неудобны. Я могу ошибочно принять REQUEST как часть команды, например, REQUEST_NEW_DATA, и это приведет к запуску RPC с именем 'new_data'. Однако REQUEST_REQUEST_NEW_DATA просто глупо.

CMD также неудобно, так как REQUEST_SEND_NEW_DATA станет CMD_SEND_NEW_DATA, что немного неудобно.

Какие-нибудь советы?

1 Ответ

1 голос
/ 26 августа 2010

Первый совет: используйте PB ... он хорошо спроектирован и делает именно это

Второй совет: если первый совет не сработает, просто сделайте то, что делает PB. На стороне клиента "callRemote (" foo_func ")" просит сервер не вызывать функцию "foo_func" на объекте сервера. Затем сервер будет использовать «getattr (server_obj,« remote_ »+« foo_func »)», чтобы найти удаленный метод. Если метод существует, он вызывается. В противном случае возвращается ошибка. Приятной особенностью этого дизайна является то, что он полностью устраняет ваши константы REQUEST ... CMD ...

...