pub fn encode<T, A, B>(value: T) -> Result<Message<A, B>, MessageError>where T: Serialize, A: Action, B: PacketBytes,
json