Mercurial > lbo > hg > localmr
view src/closure_mr.rs @ 6:29be98f95b18
Add util: String -> Record adapter
author | Lewin Bormann <lbo@spheniscida.de> |
---|---|
date | Sat, 30 Jan 2016 21:31:21 +0000 |
parents | 0d7cfea10370 |
children | 895d6a1771db |
line wrap: on
line source
use mapreducer::{ MEmitter, MapReducer, MapperF, MultiRecord, REmitter, Record, ReducerF, }; struct ClosureMapReducer { mapper: MapperF, reducer: ReducerF, } impl Clone for ClosureMapReducer { fn clone(&self) -> ClosureMapReducer { ClosureMapReducer { mapper: self.mapper, reducer: self.reducer } } } impl ClosureMapReducer { pub fn new(mapper: MapperF, reducer: ReducerF) -> ClosureMapReducer { ClosureMapReducer { mapper: mapper, reducer: reducer } } } impl MapReducer for ClosureMapReducer { fn map(&self, e: &mut MEmitter, r: Record) { (self.mapper)(e, r) } fn reduce(&self, e: &mut REmitter, r: MultiRecord) { (self.reducer)(e, r) } }