Quellcode durchsuchen

Remove abandoned source file

Johannes Hofmann vor 8 Jahren
Ursprung
Commit
01fd874a34
1 geänderte Dateien mit 0 neuen und 145 gelöschten Zeilen
  1. 0
    145
      src/tile_cache_async.rs

+ 0
- 145
src/tile_cache_async.rs Datei anzeigen

@@ -1,145 +0,0 @@
1
-use image::DynamicImage;
2
-use image;
3
-use std::collections::HashMap;
4
-use std::collections::hash_map::Entry;
5
-use std::ops::Deref;
6
-use std::sync::{Arc, Mutex, MutexGuard};
7
-use tile::Tile;
8
-use tile_loader::TileLoader;
9
-use tile_source::TileSource;
10
-
11
-
12
-pub struct TileCache {
13
-    loader: TileLoader,
14
-    map: Arc<Mutex<HashMap<Tile, image::DynamicImage>>>,
15
-}
16
-
17
-impl TileCache {
18
-    pub fn new<F>(new_tile_func: F) -> Self
19
-        where F: Fn(Tile) + Sync + Send + 'static,
20
-    {
21
-        let map = Arc::new(Mutex::new(HashMap::new()));
22
-        TileCache {
23
-            loader: TileLoader::new(TileSource::new(), move |tile| {
24
-                println!("TILECACHE NEW tile {:?}", tile);
25
-                new_tile_func(tile);
26
-            }),
27
-            map: map,
28
-        }
29
-    }
30
-
31
-    pub fn get_sync(&mut self, tile: Tile, source: &TileSource) -> Option<ImgRef> {
32
-        if let Ok(mut lock) = self.map.lock() {
33
-            let contains = lock.contains_key(&tile);
34
-
35
-            if contains {
36
-                Some(ImgRef {
37
-                    guard: lock,
38
-                    key: tile,
39
-                })
40
-            } else {
41
-                if let Some(img) = self.loader.get_sync(tile, source) {
42
-                    lock.insert(tile, img);
43
-
44
-                    Some(ImgRef {
45
-                        guard: lock,
46
-                        key: tile,
47
-                    })
48
-                } else {
49
-                    None
50
-                }
51
-            }
52
-        } else {
53
-            None
54
-        }
55
-    }
56
-
57
-    //TODO Return ImgRef, do not clone
58
-    pub fn get_async(&mut self, tile: Tile, source: &TileSource) -> Option<&DynamicImage> {
59
-        if let Ok(mut lock) = self.map.lock() {
60
-            match lock.entry(tile) {
61
-                Entry::Occupied(entry) => Some(entry.into_mut().clone()),
62
-                Entry::Vacant(_) => {
63
-                    self.loader.async_request(tile);
64
-                    None
65
-                }
66
-            }
67
-        } else {
68
-            None
69
-        }
70
-    }
71
-
72
-    /*
73
-    //TODO Return ImgRef, do not clone
74
-    pub fn get_sync(&mut self, tile: Tile, source: &TileSource) -> Option<ImgRef> {
75
-        if let Ok(mut lock) = self.map.lock() {
76
-            let contains = lock.contains_key(&tile);
77
-
78
-            if contains {
79
-                Some(ImgRef {
80
-                    guard: lock,
81
-                    key: tile,
82
-                })
83
-            } else {
84
-                if let Some(img) = self.loader.get_sync(tile, source) {
85
-                    lock.insert(tile, img);
86
-
87
-                    Some(ImgRef {
88
-                        guard: lock,
89
-                        key: tile,
90
-                    })
91
-                } else {
92
-                    None
93
-                }
94
-            }
95
-        } else {
96
-            None
97
-        }
98
-    }
99
-
100
-    //TODO Return ImgRef, do not clone
101
-    pub fn get_async(&mut self, tile: Tile, source: &TileSource) -> Option<DynamicImage> {
102
-        if let Ok(mut lock) = self.map.lock() {
103
-            match lock.entry(tile) {
104
-                Entry::Occupied(entry) => Some(entry.into_mut().clone()),
105
-                Entry::Vacant(_) => {
106
-                    self.loader.async_request(tile);
107
-                    None
108
-                }
109
-            }
110
-        } else {
111
-            None
112
-        }
113
-    }
114
-    */
115
-}
116
-
117
-impl ::std::fmt::Debug for TileCache {
118
-    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
119
-        if let Ok(lock) = self.map.try_lock() {
120
-            write!(
121
-                f,
122
-                "TileCache {{ tiles: {:?} }}",
123
-                lock.keys().collect::<Vec<_>>()
124
-            )
125
-        } else {
126
-            write!(
127
-                f,
128
-                "TileCache {{ tiles: <not accessible> }}",
129
-            )
130
-        }
131
-    }
132
-}
133
-
134
-pub struct ImgRef<'a> {
135
-    guard: MutexGuard<'a, HashMap<Tile, DynamicImage>>,
136
-    key: Tile,
137
-}
138
-
139
-impl<'a> Deref for ImgRef<'a> {
140
-    type Target = DynamicImage;
141
-    fn deref(&self) -> &Self::Target {
142
-        println!("DEREF {:?}", self.key);
143
-        self.guard.get(&self.key).unwrap()
144
-    }
145
-}