userver: ydb::TopicClient Class Reference
Loading...
Searching...
No Matches
ydb::TopicClient Class Referencefinal

#include <userver/ydb/topic.hpp>

Detailed Description

YDB Topic Client.

See also
https://ydb.tech/docs/en/concepts/topic

Definition at line 255 of file topic.hpp.

Public Member Functions

void AlterTopic (const std::string &path, const NYdb::NTopic::TAlterTopicSettings &settings)
 Alter topic.
NYdb::NTopic::TDescribeTopicResult DescribeTopic (const std::string &path)
 Describe topic.
TopicReadSession CreateReadSession (const NYdb::NTopic::TReadSessionSettings &settings)
 Create read session.
TopicWriteSession CreateWriteSession (const NYdb::NTopic::TWriteSessionSettings &settings)
 Create write session.
TopicSimpleWriteSession CreateSimpleWriteSession (const NYdb::NTopic::TWriteSessionSettings &settings)
TopicProducer CreateProducer (const TopicProducerSettings &settings, std::uint64_t max_memory_usage_bytes=kDefaultProducerMaxMemoryUsageBytes)
NYdb::NTopic::TTopicClient & GetNativeTopicClient ()

Static Public Attributes

static constexpr std::uint64_t kDefaultProducerMaxMemoryUsageBytes = 2ULL * 1024 * 1024 * 1024

Member Function Documentation

◆ CreateProducer()

TopicProducer ydb::TopicClient::CreateProducer ( const TopicProducerSettings & settings,
std::uint64_t max_memory_usage_bytes = kDefaultProducerMaxMemoryUsageBytes )

Create producer.

Unlike TopicSimpleWriteSession, TopicProducer is a native YDB multi-session producer: it routes each message by key or explicit partition and fails immediately if its buffer is overloaded. Flush() waits for persistence without closing the producer; TopicSimpleWriteSession instead flushes pending writes as part of Close().

Parameters
max_memory_usage_bytesmaximum buffered message memory in bytes

◆ CreateSimpleWriteSession()

TopicSimpleWriteSession ydb::TopicClient::CreateSimpleWriteSession ( const NYdb::NTopic::TWriteSessionSettings & settings)

Create simple write session.

Note
Event handlers from settings are not compatible with TopicSimpleWriteSession. They are reset with a warning.

◆ GetNativeTopicClient()

NYdb::NTopic::TTopicClient & ydb::TopicClient::GetNativeTopicClient ( )

Get native topic client

Warning
Use with care! Facilities from <core/include/userver/drivers/subscribable_futures.hpp> can help with non-blocking wait operations.

Member Data Documentation

◆ kDefaultProducerMaxMemoryUsageBytes

std::uint64_t ydb::TopicClient::kDefaultProducerMaxMemoryUsageBytes = 2ULL * 1024 * 1024 * 1024
staticconstexpr

Definition at line 257 of file topic.hpp.


The documentation for this class was generated from the following file: