diff --git a/doc/devel/UML/iso_tree.violet b/doc/devel/UML/iso_tree.violet
index ac02a8d..9448c1b 100644
--- a/doc/devel/UML/iso_tree.violet
+++ b/doc/devel/UML/iso_tree.violet
@@ -23,8 +23,8 @@ biblio_file_id : char*
@@ -43,8 +43,8 @@ biblio_file_id : char*
@@ -65,8 +65,8 @@ hidden : enum
@@ -87,8 +87,8 @@ children()
@@ -107,53 +107,13 @@ children()
-
-
-
-
-
-
-
-
-
-
-
- 60.0
- 340.0
-
-
-
-
-
-
-
- 66.03818312655496
- 371.74183342137127
-
-
-
-
-
+
name : char*
@@ -222,24 +150,8 @@ grow()
- 829.5857864376269
- 417.33809511662446
-
-
-
-
-
-
-
- «interface»
-DataSource
-
-
-
-
-
- 639.1500915071317
- 437.7684840063146
+ 1149.1980515339465
+ 455.5218613006981
@@ -257,8 +169,8 @@ after moving or renaming those files
- 16.152744527534395
- 121.33809511662423
+ 322.02220861890066
+ 362.2044136147912
@@ -279,13 +191,13 @@ the new files, thus it is suitable for a new session
- 988.5857864376269
- 547.3380951166246
+ 1234.6589462905451
+ 680.2741699796954
-
+
Ecma119Source
@@ -294,15 +206,15 @@ the new files, thus it is suitable for a new session
- 1119.5058052462327
- 436.9433938860118
+ 1423.5617211564486
+ 483.61244144432396
-
+
«interface»
@@ -317,17 +229,17 @@ BurnSource
- 1120.0
- 270.0
+ 1420.0
+ 280.0
-
+
- 1131.6773781214863
- 304.28653963651914
+ 1431.4906533445824
+ 311.35760744838467
@@ -345,8 +257,23 @@ We don't show the several functions in Dir to manage the tree.
- 433.2318447938257
- 11.635371637423802
+ 290.59037712396525
+ 9.859316379054512
+
+
+
+
+
+
+
+ FileSourceRegistry
+
+
+
+
+
+ 663.3494218736668
+ 707.2510088513307
@@ -354,18 +281,285 @@ We don't show the several functions in Dir to manage the tree.
- Each file can have several filters, that are
-applied sequentially.
+ A source that read its data from an arbitrary file
+descritor. size must be know in advance.
- 66.59559844015237
- 484.00729580610755
+ 888.4680374315352
+ 726.8792924010775
+
+
+
+
+ The idea of the registry is to keep track
+of sources for the same file (to implement
+cache inodes, for exampe)
+
+
+
+
+
+ 796.4629867976516
+ 789.9797974644656
+
+
+
+
+
+
+
+ TransformSource
+
+
+
+
+
+ 465.9331463967205
+ 595.4414715712101
+
+
+
+
+
+
+
+ get_size()
+read()
+open()
+close()
+is_repeatable()
+
+
+
+
+ «interface»
+FileSource
+
+
+
+
+
+ 685.9331463967205
+ 410.4414715712108
+
+
+
+
+
+
+
+ A Filter do a tranformation on a stream of data.
+The main difference with TransformSources is that
+a Filter can be applied to several sources.
+NOTES:
+- filter() method still to define
+- A filter_changes_size() method can be useful
+
+
+
+
+
+
+ 350.5947306335493
+ 803.951562474507
+
+
+
+
+
+
+
+ filter(in, out)
+
+
+
+
+ «interface»
+Filter
+
+
+
+
+
+ 274.0746933916357
+ 694.5765090198104
+
+
+
+
+
+
+
+ size : off_t
+block : uint32_t
+
+
+
+
+ PreviousImageSource
+
+
+
+
+
+ 976.3688193543292
+ 599.7669830819689
+
+
+
+
+
+
+
+ path : char*
+
+
+
+
+ LocalFileSource
+
+
+
+
+
+ 674.5900006462128
+ 602.9561901969712
+
+
+
+
+
+
+
+ FilterSource
+
+
+
+
+
+ 417.08326112068517
+ 711.364573775316
+
+
+
+
+
+
+
+ «interface»
+DataSource
+
+
+
+
+
+ 1192.781692587207
+ 608.8954677283948
+
+
+
+
+
+
+
+
+
+ Filters
+
+
+
+
+ 260.0
+ 660.0
+
+
+
+
+
+
+
+ CutOutSource
+
+
+
+
+
+ 533.842712474619
+ 706.7077195258237
+
+
+
+
+
+
+
+ Reads the contents of local files, both
+regular files, symlinks or block devices
+
+
+
+
+
+ 836.7472580451137
+ 493.8376618407349
+
+
+
+
+
+
+
+ fd : int
+size : off_t
+
+
+
+
+ FdSource
+
+
+
+
+
+ 846.3431457505072
+ 599.1219330881966
+
+
+
+
+
+
+
+
+
+
+
+
+ 1 volume
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -374,33 +568,215 @@ applied sequentially.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {create}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0..1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1 src
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -420,18 +796,6 @@ applied sequentially.
-
-
-
-
-
-
-
-
-
-
-
-
@@ -459,8 +823,20 @@ applied sequentially.
-
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -472,13 +848,22 @@ applied sequentially.
-
+
-
+
+
+
+
+
+
+
+
+
+
@@ -489,113 +874,5 @@ applied sequentially.
-
-
-
-
-
-
-
-
-
- 1 volume
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0..1 src
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {create}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- *
-
-
-
-
-
-
-
-
-
-
diff --git a/doc/devel/UML/iso_tree.violet.png b/doc/devel/UML/iso_tree.violet.png
index 1cbe053..225c94f 100644
Binary files a/doc/devel/UML/iso_tree.violet.png and b/doc/devel/UML/iso_tree.violet.png differ