public IndexByMinuteBlobReaderWriter(IAzurePageBlob azurePageBlob, IAppLogger appLogger, string topicId, int cacheSize = 512)
 {
     _azurePageBlob = azurePageBlob;
     _appLogger     = appLogger;
     _topicId       = topicId;
     _indexSize     = (IndexByMinuteUtils.LastDayOfTheYear + 1) * MessagesMinuteUtils.IndexStep;
     _builder       = new RandomAccessDataBuilder(azurePageBlob)
                      .EnableCaching(cacheSize);
 }
        public static async Task <T> ReadAndDeserializeAsProtobufAsync <T>(this IAzurePageBlob pageBlob)
        {
            try
            {
                var data = await pageBlob.DownloadAsync();

                data.Position = 0;
                var size = data.ReadInt();
                data.SetLength(size + 4);
                var result = ProtoBuf.Serializer.Deserialize <T>(data);
                return(result);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
                return(default);
Esempio n. 3
0
 public TopicsAndQueuesSnapshotStorage(IAzurePageBlob azurePageBlob)
 {
     _azurePageBlob = azurePageBlob;
 }
Esempio n. 4
0
 public static PagesCluster CreatePagesCluster(this IAzurePageBlob azurePageBlob, string topicId,
                                               ClusterPageId clusterPageId)
 {
     return(new PagesCluster(azurePageBlob, clusterPageId, topicId));
 }
 public PagesCluster(IAzurePageBlob azurePageBlob, ClusterPageId clusterPageId, string topicId)
 {
     TopicId       = topicId;
     AzurePageBlob = azurePageBlob;
     ClusterPageId = clusterPageId;
 }
Esempio n. 6
0
 public LastCompressedPageStorage(IAzurePageBlob azurePageBlob)
 {
     _azurePageBlob = azurePageBlob;
 }