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);
public TopicsAndQueuesSnapshotStorage(IAzurePageBlob azurePageBlob) { _azurePageBlob = azurePageBlob; }
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; }
public LastCompressedPageStorage(IAzurePageBlob azurePageBlob) { _azurePageBlob = azurePageBlob; }