@startuml

class MicroMessage {
  -id: message_id
  +getId(): message_id
  +{abstract} serialize(): ByteArray
  +{abstract} msgInfo(): string
}

class OutgoingMessage {
  
}

class IncomingMessage {
  +serialize(): ByteArray
  +getTimestamp(): time
}


MicroMessage <|-down- OutgoingMessage
MicroMessage <|-down- IncomingMessage

@enduml