コード例 #1
0
ファイル: TStackoverflow.cs プロジェクト: kouweizhong/Firkin
        public void Write_users_with_observable_Firkin()
        {
            var users = GetDataSource <User>().ToDictionary(k => k.Id, v => GetEntityStream(v));

            if (!users.Any())
            {
                return;
            }
            var path     = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString());
            var hash     = new ObservableFirkinHash <int>(path);
            var observer = Observer.Create <FirkinHashChange <int> >(x => { });

            hash.Subscribe(observer);
            try {
                var elapsed = Diagnostics.Time(() => {
                    foreach (var user in users)
                    {
                        hash.Put(user.Key, user.Value, user.Value.Length);
                    }
                });
                Console.WriteLine("Wrote {0} users to firkin @ {1:0,0} users/second)", users.Count, users.Count / elapsed.TotalSeconds);
            } finally {
                hash.Dispose();
                Directory.Delete(path, true);
            }
        }
コード例 #2
0
 public ObservableFirkinHash<string> CreateObservable()
 {
     return _observable = new ObservableFirkinHash<string>(_path);
 }
コード例 #3
0
 public ObservableFirkinHash <string> CreateObservable()
 {
     return(_observable = new ObservableFirkinHash <string>(_path));
 }