Rough class diagram
Steve Cotton
steve at s.cotton.clara.co.uk
Tue Oct 28 23:33:51 UTC 2008
While I was working out how bits of DebTorrent fitted together, I
sketched the attached diagram showing the has-a relationships
between some of the major classes.
Labels on arrows are the name of the parent's variable for the
child, and are omitted if the variable is just the classname in
lowercase.
Hopefully this will be useful to others exploring the code,
Steve
(.dot files are converted to .svg with the GraphViz package)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: class_diagram.svg
Type: image/svg+xml
Size: 7968 bytes
Desc: not available
Url : http://lists.alioth.debian.org/pipermail/debtorrent-devel/attachments/20081028/138aa8d2/attachment.svg
-------------- next part --------------
/*
dot -Tsvg -o class_diagram.svg class_diagram.dot
Map of what owns what.
*/
digraph {
"LaunchMany" -> "launchmanycore.SingleDownload" [label="downloads[hash]"]
"launchmanycore.SingleDownload" -> "BT1Download" [label="d"]
"BT1Download" -> "StorageWrapper" // [label="storagewrapper"]
"StorageWrapper" -> "Bitfield\npieces held by us" [label="have"]
"LaunchMany" -> "RawServer" // [label="rawserver"]
"LaunchMany" -> "AptListener" // [label="aptlistener"]
"BT1Download" -> "Downloader" // [label="downloader"]
"Downloader" -> "Downloader.SingleDownload" [label="downloads[]"]
"BT1Download" -> "HTTPDownloader" // [label="httpdownloader"]
"HTTPDownloader" -> "HTTPDownloader.SingleDownload" [label="downloads[]"]
//Non-ownership, but navigatable
//edge[color="grey", fontcolor="grey"]
//"HTTPDownloader" -> "Downloader" [label="peerdownloader"]
//"HTTPDownloader" -> "StorageWrapper" [label="storage"]
}
More information about the Debtorrent-devel
mailing list