public void TestReadRandomAccessHelperStrategyUsingStringAsTItem()
        {
            var helperStrategy = new ReadRandomAccessHelperStrategy<string>();
            var chunkStrategy = helperStrategy.GetChunkStrategy();
            var streamFactory = helperStrategy.GetStreamFactory();

            Assert.AreEqual(typeof(ReadRandomAccessChunkStrategy), chunkStrategy.GetType());
            Assert.AreEqual(typeof(ReadRandomAccessStreamFactory<string>), streamFactory.GetType());
        }
Exemplo n.º 2
0
        internal static string GetSingleObjectWithRange(IDs3Client client, string bucketName, string objectName,
            Range range, IHelperStrategy<Ds3PartialObject> helperStrategy = null)
        {
            var tempFilename = Path.GetTempFileName();

            using (Stream fileStream = new FileStream(tempFilename, FileMode.Truncate, FileAccess.Write))
            {
                IDs3ClientHelpers helper = new Ds3ClientHelpers(client);

                if (helperStrategy == null)
                {
                    helperStrategy = new ReadRandomAccessHelperStrategy<Ds3PartialObject>();
                }

                var job = helper.StartPartialReadJob(bucketName, new List<string>(),
                    new List<Ds3PartialObject> {new Ds3PartialObject(range, objectName)}, helperStrategy: helperStrategy);

                job.Transfer(key => fileStream);

                return tempFilename;
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// This will get the object and return the name of the temporary file it was written to.
        /// It is up to the caller to delete the temporary file
        /// </summary>
        public static string GetSingleObject(IDs3Client client, string bucketName, string objectName, int retries = 5,
            IHelperStrategy<string> helperStrategy = null)
        {
            var tempFilename = Path.GetTempFileName();

            using (Stream fileStream = new FileStream(tempFilename, FileMode.Truncate, FileAccess.Write))
            {
                IDs3ClientHelpers helper = new Ds3ClientHelpers(client, objectTransferAttempts: retries);

                if (helperStrategy == null)
                {
                    helperStrategy = new ReadRandomAccessHelperStrategy<string>();
                }

                var job = helper.StartReadJob(bucketName, new List<Ds3Object> {new Ds3Object(objectName, null)},
                    helperStrategy: helperStrategy);

                job.Transfer(key => fileStream);

                return tempFilename;
            }
        }