Esempio n. 1
0
        	private IsolatedStorageFileStream OpenFile(BinConfiguration config, IsolatedStorageFile store)
        	{
        		_fullPath = config.Uri();
        		string path = config.Uri();
        		IsolatedStorageFileStream stream = new IsolatedStorageFileStream(path, FileModeFor(store, path), FileAccessFor(config), FileShareFor(config), store);
        		Fill(stream, config.InitialLength(), 0);

				return stream;
        	}
Esempio n. 2
0
        private IsolatedStorageFileStream OpenFile(BinConfiguration config, IsolatedStorageFile store)
        {
            _fullPath = config.Uri();
            string path = config.Uri();
            IsolatedStorageFileStream stream = new IsolatedStorageFileStream(path, FileModeFor(store, path), FileAccessFor(config), FileShareFor(config), store);

            Fill(stream, config.InitialLength(), 0);

            return(stream);
        }
		private IBin ProduceBin(BinConfiguration config)
		{
			IBin storage = Bin(config.Uri());
			if (null != storage)
			{
				return storage;
			}
			IBin newStorage = new PagingMemoryBin(_pageSize, config.InitialLength());
			_binsByUri[config.Uri()] = newStorage;
			return newStorage;
		}
Esempio n. 4
0
		private IBin AcquireBin(BinConfiguration config)
		{
			IBin storage = Bin(config.Uri());
			if (null != storage)
			{
				return storage;
			}
			IBin newStorage = ProduceBin(config, _pageSize);
			_binsByUri[config.Uri()] = newStorage;
			return newStorage;
		}
Esempio n. 5
0
		private IBin ProduceStorage(BinConfiguration config)
		{
			IBin storage = Bin(config.Uri());
			if (null != storage)
			{
				return storage;
			}
			MemoryBin newStorage = new MemoryBin(new byte[(int)config.InitialLength()], _growthStrategy
				);
			_bins[config.Uri()] = newStorage;
			return newStorage;
		}
Esempio n. 6
0
        private IBin AcquireBin(BinConfiguration config)
        {
            IBin storage = Bin(config.Uri());

            if (null != storage)
            {
                return(storage);
            }
            IBin newStorage = ProduceBin(config, _pageSize);

            _binsByUri[config.Uri()] = newStorage;
            return(newStorage);
        }
Esempio n. 7
0
        private IBin ProduceBin(BinConfiguration config)
        {
            var storage = Bin(config.Uri());

            if (null != storage)
            {
                return(storage);
            }
            IBin newStorage = new PagingMemoryBin(_pageSize, config.InitialLength());

            _binsByUri[config.Uri()] = newStorage;
            return(newStorage);
        }
Esempio n. 8
0
        private IBin ProduceStorage(BinConfiguration config)
        {
            IBin storage = Bin(config.Uri());

            if (null != storage)
            {
                return(storage);
            }
            MemoryBin newStorage = new MemoryBin(new byte[(int)config.InitialLength()], _growthStrategy
                                                 );

            _bins[config.Uri()] = newStorage;
            return(newStorage);
        }
Esempio n. 9
0
 /// <exception cref="Db4objects.Db4o.Ext.Db4oIOException"></exception>
 public override IBin Open(BinConfiguration config)
 {
     SaveAsStorage.SaveAsBin openedBin = new SaveAsStorage.SaveAsBin(base.Open(config)
                                                                     );
     _binRecords.Put(config.Uri(), new SaveAsStorage.BinRecord(config, openedBin));
     return(openedBin);
 }
Esempio n. 10
0
		/// <exception cref="Db4objects.Db4o.Ext.Db4oIOException"></exception>
		public virtual IBin Open(BinConfiguration config)
		{
			IoAdapterStorage.IoAdapterBin bin = new IoAdapterStorage.IoAdapterBin(_io.Open(config
				.Uri(), config.LockFile(), config.InitialLength(), config.ReadOnly()));
			((IBlockSize)Environments.My(typeof(IBlockSize))).Register(bin);
			return bin;
		}
Esempio n. 11
0
			/// <exception cref="Db4objects.Db4o.Ext.Db4oIOException"></exception>
			public FileBin(BinConfiguration config)
			{
				bool ok = false;
				try
				{
					_path = new Sharpen.IO.File(config.Uri()).GetCanonicalPath();
					_file = RandomAccessFileFactory.NewRandomAccessFile(_path, config.ReadOnly(), config
						.LockFile());
					if (config.InitialLength() > 0)
					{
						Write(config.InitialLength() - 1, new byte[] { 0 }, 1);
					}
					ok = true;
				}
				catch (IOException e)
				{
					throw new Db4oIOException(e);
				}
				finally
				{
					if (!ok)
					{
						Close();
					}
				}
			}
Esempio n. 12
0
            /// <exception cref="Db4objects.Db4o.Ext.Db4oIOException"></exception>
            public FileBin(BinConfiguration config)
            {
                bool ok = false;

                try
                {
                    _path = new Sharpen.IO.File(config.Uri()).GetCanonicalPath();
                    _file = RandomAccessFileFactory.NewRandomAccessFile(_path, config.ReadOnly(), config
                                                                        .LockFile());
                    if (config.InitialLength() > 0)
                    {
                        Write(config.InitialLength() - 1, new byte[] { 0 }, 1);
                    }
                    ok = true;
                }
                catch (IOException e)
                {
                    throw new Db4oIOException(e);
                }
                finally
                {
                    if (!ok)
                    {
                        Close();
                    }
                }
            }
Esempio n. 13
0
        /// <exception cref="Db4objects.Db4o.Ext.Db4oIOException"></exception>
        public virtual IBin Open(BinConfiguration config)
        {
            var bin = new IoAdapterBin(_io.Open(config
                                                .Uri(), config.LockFile(), config.InitialLength(), config.ReadOnly()));

            ((IBlockSize)Environments.My(typeof(IBlockSize))).Register(bin);
            return(bin);
        }
Esempio n. 14
0
        private void ReopenOldConfiguration(SaveAsStorage.SaveAsBin saveAsBin, BinConfiguration
                                            config, string newUri, Exception e)
        {
            IBin safeBin = _storage.Open(config);

            saveAsBin.DelegateTo(safeBin);
            throw new Db4oException("Copying to " + newUri + " failed. Reopened " + config.Uri
                                        (), e);
        }
Esempio n. 15
0
        	internal IsolatedStorageFileBin(BinConfiguration config, IsolatedStorageFile store)
			{
				Action cleanUp = Close;
				try
				{
					_fileStream = OpenFile(config, store);
					cleanUp = () => {};
				}
				catch (IsolatedStorageException e)
				{
					ThrowMappedException(e, config.Uri(), store);
				}
				finally
				{
					cleanUp();
				}				
            }
Esempio n. 16
0
        internal IsolatedStorageFileBin(BinConfiguration config, IsolatedStorageFile store)
        {
            Action cleanUp = Close;

            try
            {
                _fileStream = OpenFile(config, store);
                cleanUp     = () => {};
            }
            catch (IsolatedStorageException e)
            {
                ThrowMappedException(e, config.Uri(), store);
            }
            finally
            {
                cleanUp();
            }
        }
Esempio n. 17
0
		/// <exception cref="Db4objects.Db4o.Ext.Db4oIOException"></exception>
		public override IBin Open(BinConfiguration config)
		{
			SaveAsStorage.SaveAsBin openedBin = new SaveAsStorage.SaveAsBin(base.Open(config)
				);
			_binRecords.Put(config.Uri(), new SaveAsStorage.BinRecord(config, openedBin));
			return openedBin;
		}
Esempio n. 18
0
		private void ReopenOldConfiguration(SaveAsStorage.SaveAsBin saveAsBin, BinConfiguration
			 config, string newUri, Exception e)
		{
			IBin safeBin = _storage.Open(config);
			saveAsBin.DelegateTo(safeBin);
			throw new Db4oException("Copying to " + newUri + " failed. Reopened " + config.Uri
				(), e);
		}