From a9e8e058330cdf7e8f8f21654bad19b1f65d09e2 Mon Sep 17 00:00:00 2001 From: Vreixo Formoso Date: Sun, 14 Oct 2007 18:00:02 +0200 Subject: [PATCH] Use Streams to simplify El-Torito implementation. --- doc/devel/UML/eltorito.violet | 405 ++++++++++++++++++++---------- doc/devel/UML/eltorito.violet.png | Bin 21180 -> 24861 bytes 2 files changed, 279 insertions(+), 126 deletions(-) diff --git a/doc/devel/UML/eltorito.violet b/doc/devel/UML/eltorito.violet index 4a5df24..b8a7d01 100644 --- a/doc/devel/UML/eltorito.violet +++ b/doc/devel/UML/eltorito.violet @@ -11,13 +11,18 @@ - 731.0 - 193.0 + 479.2699858975891 + 226.94112549695433 + + + block : uint32_t + + ElToritoCatalog @@ -26,8 +31,8 @@ - 474.0 - 192.0 + 472.58578643762684 + 344.73506473629425 @@ -40,7 +45,8 @@ type : enum partition_type : enum load_seg : uint16 load_size : uint16 -patch_isolinux : bool +patch_isolinux : bool +block: uint32_t @@ -51,8 +57,8 @@ patch_isolinux : bool - 469.0 - 329.0 + 470.4142135623731 + 487.3919189857866 @@ -67,8 +73,8 @@ images - 666.0 - 301.0 + 251.63542622468316 + 429.69343417595167 @@ -87,8 +93,8 @@ images - 186.0 - 186.0 + 193.07106781186545 + 334.49242404917493 @@ -135,64 +141,8 @@ node. This is needed when the image is written. - 347.0 - 82.0 - - - - - - - - block : uint32_t - - - - - PreviousSessionImage - - - - - - 539.0 - 509.0 - - - - - - - - «interface» -DataSource - - - - - - 746.5857864376269 - 511.3380951166248 - - - - - - - - block : uint32_t - - - - - PreviousSessionCatalog - - - - - - 287.0 - 292.0 + 57.81118318204312 + 584.0458146424488 @@ -210,28 +160,8 @@ we can do may be wrong. - 644.3271028254218 - 382.5643050695048 - - - - - - - - path : char * - - - - - LocalImage - - - - - - 424.0 - 511.0 + 748.978906441031 + 574.8973495522459 @@ -239,16 +169,137 @@ we can do may be wrong. - Once we have support for all El-Torito features, namelly -multiple boot images, this type is not needed, the info -can be read and cached in a new catalog. + The block in both Catalog and BootImage is needed +for multissession images - 52.325113060119634 - 434.0605969759931 + 629.3242465083424 + 441.1316647878586 + + + + + + + + File + + + + + + 188.09040379562163 + 172.5340546095176 + + + + + + + + CatalogStream + + + + + + 851.105100475371 + 283.5127233261827 + + + + + + + + FileStream + + + + + + 743.4055403867466 + 284.4253525880894 + + + + + + + + TransformStream + + + + + + 958.5987801403015 + 279.8322618091961 + + + + + + + + «interface» +Stream + + + + + + 847.6728065449973 + 157.05765855361264 + + + + + + + + IsoLinuxPatch + + + + + + 968.73629022557 + 384.6660889654818 + + + + + + + + Generates the content of the catalog on-the-fly + + + + + + 517.6021638285529 + 107.48023074035522 + + + + + + + + To apply the needed patch to isolinux +images + + + + + + 923.4814562296309 + 509.1168824543143 @@ -275,18 +326,6 @@ can be read and cached in a new catalog. - - - - - - - - - - - - @@ -346,18 +385,108 @@ can be read and cached in a new catalog. + - + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -370,30 +499,54 @@ can be read and cached in a new catalog. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + - - + + diff --git a/doc/devel/UML/eltorito.violet.png b/doc/devel/UML/eltorito.violet.png index 07fd2b9ed2d63b0fa91333dea932d51b34e594c9..adc195c25ed2dab2a308a7c84e068f0b5ba26ee5 100644 GIT binary patch literal 24861 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 literal 21180 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