// http://www.nomnoml.com/ #direction: TD [ model| [ «enumeration» + TextureFormat | JPEG PNG ] [+ Texture|...] [Sha256|...] ] [ persistency | [+ DataStore|...] [ result| [+ TextureFileResult|...] [+ TextureFileError|...] [+ TextureFileResult|...] -/- [+ TextureFileError] ] [ search| [+ Query|...] ] [ image_convert| [+ ConvertConfig|...] | + generate_preview(input, format, config) : ... ] [search] -/- [image_convert] ] [ protocol| [ + ProtocolHandler|...] [+ ProtocolConfig|...] [+ ProtocolHandler] -/- [+ ProtocolConfig] [ autoconnect | + start_autoconnect_server(cfg : ProtocolConfig) ] [result] -/- [autoconnect] [ result| [+ ProtocolResult|...] [+ ProtocolError|...] [+ ReplaceTextureStatus|...] [+ ProtocolResult] -/- [+ ProtocolError] [+ ProtocolError] -/- [+ ReplaceTextureStatus] ] | + listen_forever(handler : &ProtocolHandler) : ... ] [ main| [ServerState|...] [ServerState] -- [ implements protocol::ProtocolHandler ] | + main() ] [main] --> [model] [main] --> [protocol] [main] --> [persistency] [protocol] --> [model] [persistency] --> [model]