Package freenet.support.api

Examples of freenet.support.api.LockableRandomAccessBuffer


    }
   
    public void testPersistentSmallSplitfileWithLastBlockCompletionAfterResume() throws IOException, InsertException, StorageFormatException, ChecksumFailedException, ResumeFailedException {
        Random r = new Random(12121);
        long size = 65535; // Exact multiple, so no last block
        LockableRandomAccessBuffer data = generateData(r, size, bigRAFFactory);
        HashResult[] hashes = getHashes(data);
        MyCallback cb = new MyCallback();
        KeysFetchingLocally keys = new MyKeysFetchingLocally();
        SplitFileInserterStorage storage = new SplitFileInserterStorage(data, size, cb, null,
                new ClientMetadata(), false, null, smallRAFFactory, true, baseContext.clone(),
View Full Code Here


    }
   
    public void testPersistentSmallSplitfileNoLastBlockFailAfterResume() throws IOException, InsertException, StorageFormatException, ChecksumFailedException, ResumeFailedException {
        Random r = new Random(12121);
        long size = 65536; // Exact multiple, so no last block
        LockableRandomAccessBuffer data = generateData(r, size, bigRAFFactory);
        HashResult[] hashes = getHashes(data);
        MyCallback cb = new MyCallback();
        KeysFetchingLocally keys = new MyKeysFetchingLocally();
        InsertContext context = baseContext.clone();
        context.consecutiveRNFsCountAsSuccess = 0;
View Full Code Here

    }

    public void testPersistentSmallSplitfileNoLastBlockChooseAfterResume() throws IOException, InsertException, StorageFormatException, ChecksumFailedException, ResumeFailedException {
        Random r = new Random(12121);
        long size = 65536; // Exact multiple, so no last block
        LockableRandomAccessBuffer data = generateData(r, size, bigRAFFactory);
        HashResult[] hashes = getHashes(data);
        MyCallback cb = new MyCallback();
        MyKeysFetchingLocally keys = new MyKeysFetchingLocally();
        InsertContext context = baseContext.clone();
        context.consecutiveRNFsCountAsSuccess = 0;
View Full Code Here

    @Override
    public LockableRandomAccessBuffer toRandomAccessBuffer() throws IOException {
        if(underlying.size() < type.headerLen)
            throw new IOException("Converting empty bucket");
        underlying.setReadOnly();
        LockableRandomAccessBuffer r = underlying.toRandomAccessBuffer();
        try {
            return new EncryptedRandomAccessBuffer(type, r, masterKey, false);
        } catch (GeneralSecurityException e) {
            Logger.error(this, "Unable to convert encrypted bucket: "+e, e);
            throw new IOException(e);
View Full Code Here

        public SplitFileFetcherStorage createStorage(final StorageCallback cb, FetchContext ctx) throws FetchException, MetadataParseException, IOException {
            LockableRandomAccessBufferFactory f = new LockableRandomAccessBufferFactory() {

                @Override
                public LockableRandomAccessBuffer makeRAF(long size) throws IOException {
                    LockableRandomAccessBuffer t = rafFactory.makeRAF(size);
                    cb.snoopRAF(t);
                    return t;
                }

                @Override
                public LockableRandomAccessBuffer makeRAF(byte[] initialContents, int offset,
                        int size, boolean readOnly) throws IOException {
                    LockableRandomAccessBuffer t = rafFactory.makeRAF(initialContents, offset, size, readOnly);
                    cb.snoopRAF(t);
                    return t;
                }
               
            };
View Full Code Here

        synchronized(this) {
            if(outputStreamOpen) throw new IOException("Must close first");
            readOnly = true;
        }
        underlying.setReadOnly();
        LockableRandomAccessBuffer u = underlying.toRandomAccessBuffer();
        return new PaddedRandomAccessBuffer(u, size);
    }
View Full Code Here

    @Override
    public LockableRandomAccessBuffer makeRAF(long size) throws IOException {
        long id = fg.makeRandomFilename();
        File file = fg.getFilename(id);
        LockableRandomAccessBuffer ret = null;
        try {
            ret = new PooledFileRandomAccessBuffer(file, false, size, enableCrypto ? seedRandom : null, id, true);
            return ret;
        } finally {
            if(ret == null) file.delete();
View Full Code Here

    @Override
    public LockableRandomAccessBuffer makeRAF(byte[] initialContents, int offset, int size, boolean readOnly)
            throws IOException {
        long id = fg.makeRandomFilename();
        File file = fg.getFilename(id);
        LockableRandomAccessBuffer ret = null;
        try {
            ret = new PooledFileRandomAccessBuffer(file, "rw", initialContents, offset, size, id, true, readOnly);
            return ret;
        } finally {
            if(ret == null) file.delete();
View Full Code Here

        return hashStream.getResults();
    }

    private LockableRandomAccessBuffer generateData(Random random, long size,
            LockableRandomAccessBufferFactory smallRAFFactory) throws IOException {
        LockableRandomAccessBuffer thing = smallRAFFactory.makeRAF(size);
        BucketTools.fill(thing, random, 0, size);
        return new ReadOnlyRandomAccessBuffer(thing);
    }
View Full Code Here

    }
   
    public void testSmallSplitfileChooseCompletion() throws IOException, InsertException, MissingKeyException {
        Random r = new Random(12121);
        long size = 65536; // Exact multiple, so no last block
        LockableRandomAccessBuffer data = generateData(r, size, smallRAFFactory);
        HashResult[] hashes = getHashes(data);
        NullSendableInsert insert = new NullSendableInsert(false, false);
        MyCallback cb = new MyCallback(insert);
        InsertContext context = baseContext.clone();
        context.maxInsertRetries = 2;
View Full Code Here

TOP

Related Classes of freenet.support.api.LockableRandomAccessBuffer

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.