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
|