84 lines
1.4 KiB
Plaintext
84 lines
1.4 KiB
Plaintext
@startuml Messages sturcture and hierarchy
|
|
|
|
class PackedServerMessage {
|
|
From string
|
|
Payload string
|
|
Signature string
|
|
}
|
|
|
|
class ServerMessage {
|
|
Type string
|
|
}
|
|
|
|
|
|
class PackedForwardMessage {
|
|
NextServerKey string
|
|
Url string
|
|
Payload string
|
|
}
|
|
|
|
class PackedUserMessage {
|
|
DestinationKey
|
|
Payload
|
|
Signature
|
|
}
|
|
|
|
class UserMessage
|
|
{
|
|
LocalUuid
|
|
Destination
|
|
From
|
|
Type
|
|
Data
|
|
Sent
|
|
NextKey
|
|
}
|
|
|
|
class InternalMessage {
|
|
With
|
|
SentByMe
|
|
UserMessageData
|
|
ServerUuid
|
|
Received
|
|
Processed
|
|
TransferPath
|
|
}
|
|
|
|
class ConversationRequest {
|
|
Destination string
|
|
LastUuidOK string
|
|
PublishIp bool
|
|
}
|
|
class PollRequest {
|
|
Destinations []ConversationRequest
|
|
Time time.Time
|
|
}
|
|
|
|
class ConversationResponse {
|
|
MessageUuids []string
|
|
SourceIpAddress string
|
|
}
|
|
|
|
class PollResponse {
|
|
Conversations map[string]ConversationResponse
|
|
}
|
|
|
|
class MessageBodies {
|
|
Messages []Message
|
|
}
|
|
|
|
PackedServerMessage *-- ServerMessage
|
|
|
|
ServerMessage <|--PackedForwardMessage
|
|
ServerMessage <|--PollRequest
|
|
PollRequest *-- ConversationRequest
|
|
PollResponse *--ConversationResponse
|
|
ServerMessage <|--PollResponse
|
|
ServerMessage <|-- MessageBodies
|
|
PackedUserMessage *-- UserMessage
|
|
InternalMessage *-- UserMessage
|
|
PackedForwardMessage *-- ServerMessage
|
|
PackedForwardMessage *-- PackedForwardMessage
|
|
MessageBodies *-- PackedUserMessage
|
|
@enduml
|