In order to ensure a decent level of predictability for (or a lack of the need of)
for messages in Wintermute, this issue (until the release of 0.1.0) serves as a
reference point for what a Message object should initially be in JSON. Things that
base themselves upon a Message like MethodCall and the likes will have their
own implementation but will be contained within a message.
Some things pivotal for a message's integrity:
[x] timestamp - The time, in UTC, at which a message was crafted. This doesn't
represent when it was sent though, not sure if that matters.
[ ] sender - The information needed to learn about the instance of Wintermute
that sent this Message. Initially, this was equivalent to a JSON object
representing a Module::Designation object but more information might be needed.
[ ] receiver - The information needed to learn about the instance of Wintermute
to receive this Message. Initially, this was equivalent to a JSON object
representing a Module::Designation object but more information might be needed.
[ ] payload - This would be the actual data being sent to the receiver. This
is expected to be a dictionary, though later implementations might change this.
Proposed Fields
[ ] flags - An array of text representing fields that were used to modify the
payload value. Something like this would help with encryption, signing and the likes.
In order to ensure a decent level of predictability for (or a lack of the need of) for messages in Wintermute, this issue (until the release of 0.1.0) serves as a reference point for what a
Message
object should initially be in JSON. Things that base themselves upon aMessage
likeMethodCall
and the likes will have their own implementation but will be contained within a message.Some things pivotal for a message's integrity:
Proposed Fields
payload
value. Something like this would help with encryption, signing and the likes.