вопрос: в каком стиле предпочитаете писать RPC API?
относительный пользователя сессии?
createSession()
joinGroup(group: GroupID)
leaveGroup(group: GroupID)
sendMessage(body: String, to: GroupID|UserID)
или независимый от сессии, где для каждой операции указывается от какого пользователя выполняется операция?
createSession(user: UserID)
joinGroup(user: UserID, group: GroupID)
leaveGroup(user: UserID, group: GroupID)
sendMessage(body: String, sender: UserID, to: GroupID|UserID)
- У первого варианта плюс казалось-бы очевиден: это просто, и без излишеств.
- Однако, у второго варианта, наверное, тоже есть плюс: операции можно выполнять от некого всемогущего debug user'а (в не-release build’е), который обходит авторизацию, что может помочь в дебаге и тестировании.
я бы делал 2е, а наружу высовывал 1е.