Skip to main content

Crate tansu_storage

Crate tansu_storage 

Source
Expand description

Tansu Storage Abstraction

StorageContainer provides an abstraction over Storage and can be configured to use memory, S3, PostgreSQL, libSQL and Turso (alpha: currently feature locked).

§Memory

let storage = StorageContainer::builder()
    .cluster_id("tansu")
    .node_id(111)
    .advertised_listener(Url::parse("tcp://localhost:9092")?)
    .storage(Url::parse("memory://tansu/")?)
    .build()
    .await?;

§S3

let storage = StorageContainer::builder()
    .cluster_id("tansu")
    .node_id(111)
    .advertised_listener(Url::parse("tcp://localhost:9092")?)
    .storage(Url::parse("s3://tansu/")?)
    .build()
    .await?;

§PostgreSQL

let storage = StorageContainer::builder()
    .cluster_id("tansu")
    .node_id(111)
    .advertised_listener(Url::parse("tcp://localhost:9092")?)
    .storage(Url::parse("postgres://postgres:postgres@localhost")?)
    .build()
    .await?;

§libSQL (SQLite)

let storage = StorageContainer::builder()
    .cluster_id("tansu")
    .node_id(111)
    .advertised_listener(Url::parse("tcp://localhost:9092")?)
    .storage(Url::parse("sqlite://tansu.db")?)
    .build()
    .await?;

§Turso

let storage = StorageContainer::builder()
    .cluster_id("tansu")
    .node_id(111)
    .advertised_listener(Url::parse("tcp://localhost:9092")?)
    .storage(Url::parse("turso://tansu.db")?)
    .build()
    .await?;

Structs§

AlterUserScramCredentialsService
BrokerRegistrationRequest
Broker Registration Request
Builder
A StorageContainer builder
ChannelRequestLayer
ChannelRequestService
ConsumerGroupDescribeService
A Service using Storage as Context taking ConsumerGroupDescribeRequest returning ConsumerGroupDescribeResponse.
CreateAclsService
CreateTopicsService
A Service using Storage as Context taking CreateTopicsRequest returning CreateTopicsResponse.
DeleteGroupsService
A Service using Storage as Context taking DeleteGroupsRequest returning DeleteGroupsResponse.
DeleteRecordsService
A Service using Storage as Context taking DeleteRecordsRequest returning DeleteRecordsResponse.
DeleteTopicsService
A Service using Storage as Context taking DeleteTopicsRequest returning DeleteTopicsResponse.
DescribeAclsService
DescribeClusterService
A Service using Storage as Context taking DescribeClusterRequest returning DescribeClusterResponse.
DescribeConfigsService
A Service using Storage as Context taking DescribeConfigsRequest returning DescribeConfigsResponse.
DescribeGroupsService
A Service using Storage as Context taking DescribeGroupsRequest returning DescribeGroupsResponse.
DescribeTopicPartitionsService
A Service using Storage as Context taking DescribeTopicPartitionsRequest returning DescribeTopicPartitionsResponse.
DescribeUserScramCredentialsService
FetchService
A Service using Storage as Context taking FetchRequest returning FetchResponse.
FindCoordinatorService
A Service using Storage as Context taking FindCoordinatorRequest returning FindCoordinatorResponse.
GetTelemetrySubscriptionsService
A Service using Storage as Context taking GetTelemetrySubscriptionsRequest returning GetTelemetrySubscriptionsResponse.
GroupDetail
Group Detail
GroupMember
Group Member
IncrementalAlterConfigsService
A Service using Storage as Context taking IncrementalAlterConfigsRequest returning IncrementalAlterConfigsResponse.
InitProducerIdService
A Service using Storage as Context taking InitProducerIdRequest returning InitProducerIdResponse.
ListGroupsService
A Service using Storage as Context taking ListGroupsRequest returning ListGroupsResponse.
ListOffsetResponse
ListOffsetsService
A Service using Storage as Context taking ListOffsetsRequest returning ListOffsetsResponse.
ListPartitionReassignmentsService
A Service using Storage as Context taking ListPartitionReassignmentsRequest returning ListPartitionReassignmentsResponse.
MetadataResponse
MetadataService
A Service using Storage as Context taking MetadataRequest returning MetadataRequest.
NamedGroupDetail
NamedGroupDetail
OffsetCommitRequest
Offset Commit Request
OffsetStage
Offset Stage
PartitionDetail
Partition Detail
ProduceService
A Service using Storage as Context taking ProduceRequest returning ProduceResponse.
ProducerIdResponse
Producer Id Response
RequestChannelService
A Service sending Requests over a RequestSender channel
RequestLayer
RequestService
RequestStorageService
ScramCredential
Topition
Topic Partition (topition)
TopitionDetail
Topition (topic partition) Detail
TopitionOffset
Topic Partition Offset
TxnAddOffsetsService
A Service using Storage as Context taking AddOffsetsToTxnRequest returning AddOffsetsToTxnResponse.
TxnAddPartitionService
A Service using Storage as Context taking AddPartitionsToTxnRequest returning AddPartitionsToTxnResponse.
TxnOffsetCommitRequest
Transaction Offset Commit Request
TxnOffsetCommitService
A Service using Storage as Context taking tansu_sans_io::TxnOffsetCommitRequest returning TxnOffsetCommitResponse.
Version
Version representing an e_tag and version used in conditional writes to an object store.

Enums§

ConsumerGroupState
Consumer Group State
Error
Storage Errors
GroupDetailResponse
GroupState
Group State
Request
Response
StorageContainer
Storage Container
TopicId
Topic Id
TxnAddPartitionsRequest
For protocol versions 0..=3 using AddPartitionsToTxnTopic, thereafter using AddPartitionsToTxnTransaction.
TxnAddPartitionsResponse
Transaction Add Partitions Response
TxnState
Transaction State
UpdateError
Conditional Update Errors

Traits§

Storage
Storage

Functions§

bounded_channel

Type Aliases§

ListOffsetRequest
RequestReceiver
RequestSender
Result