package rawtopicwriter
import "github.com/ydb-platform/ydb-go-sdk/v3/internal/grpcwrapper/rawtopic/rawtopicwriter"
Index ¶
- Constants
- type ClientMessage
- type GrpcStream
- type InitRequest
- type InitResult
- type MessageData
- func (d *MessageData) ProtoWireSizeBytes() int
- func (d *MessageData) ToProto() (*Ydb_Topic.StreamWriteMessage_WriteRequest_MessageData, error)
- type MessageWriteStatus
- type Partitioning
- func NewPartitioningMessageGroup(messageGroupID string) Partitioning
- func NewPartitioningPartitionID(partitionID int64) Partitioning
- type PartitioningType
- type ServerMessage
- type StreamWriter
- func (w *StreamWriter) CloseSend() error
- func (w *StreamWriter) Recv() (ServerMessage, error)
- func (w *StreamWriter) Send(rawMsg ClientMessage) (err error)
- type UpdateTokenRequest
- type UpdateTokenResponse
- type WriteAck
- type WriteRequest
- func (r *WriteRequest) Cut(count int) (head *WriteRequest, rest *WriteRequest)
- func (r *WriteRequest) FillCache() *WriteRequest
- func (r *WriteRequest) Size() int
- type WriteResult
- type WriteStatistics
- type WriteStatusSkipReason
- type WriteStatusType
Constants ¶
const ( WriteStatusSkipReasonUnspecified = WriteStatusSkipReason(Ydb_Topic.StreamWriteMessage_WriteResponse_WriteAck_Skipped_REASON_UNSPECIFIED) //nolint:lll WriteStatusSkipReasonAlreadyWritten = WriteStatusSkipReason(Ydb_Topic.StreamWriteMessage_WriteResponse_WriteAck_Skipped_REASON_ALREADY_WRITTEN) //nolint:lll )
Types ¶
type ClientMessage ¶
type ClientMessage interface {
// contains filtered or unexported methods
}
type GrpcStream ¶
type GrpcStream interface {
Send(messageNew *Ydb_Topic.StreamWriteMessage_FromClient) error
Recv() (*Ydb_Topic.StreamWriteMessage_FromServer, error)
CloseSend() error
}
type InitRequest ¶
type InitRequest struct {
Path string
ProducerID string
WriteSessionMeta map[string]string
Partitioning Partitioning
GetLastSeqNo bool
// contains filtered or unexported fields
}
type InitResult ¶
type InitResult struct {
rawtopiccommon.ServerMessageMetadata
LastSeqNo int64
SessionID string
PartitionID int64
SupportedCodecs rawtopiccommon.SupportedCodecs
// contains filtered or unexported fields
}
type MessageData ¶
type MessageData struct {
SeqNo int64
CreatedAt time.Time
UncompressedSize int64
Partitioning Partitioning
MetadataItems []rawtopiccommon.MetadataItem
Data []byte
// contains filtered or unexported fields
}
func (*MessageData) ProtoWireSizeBytes ¶
func (d *MessageData) ProtoWireSizeBytes() int
func (*MessageData) ToProto ¶
func (d *MessageData) ToProto() (*Ydb_Topic.StreamWriteMessage_WriteRequest_MessageData, error)
type MessageWriteStatus ¶
type MessageWriteStatus struct {
Type WriteStatusType
WrittenOffset int64
SkippedReason WriteStatusSkipReason
}
MessageWriteStatus is struct because it included in per-message structure and places on hot-path for write messages structure will work and compile-optimization better then interface
type Partitioning ¶
type Partitioning struct {
Type PartitioningType
MessageGroupID string
PartitionID int64
}
Partitioning is struct because it included in per-message structure and places on hot-path for write messages structure will work and compile-optimization better then interface
func NewPartitioningMessageGroup ¶
func NewPartitioningMessageGroup(messageGroupID string) Partitioning
func NewPartitioningPartitionID ¶
func NewPartitioningPartitionID(partitionID int64) Partitioning
type PartitioningType ¶
type PartitioningType int
const ( PartitioningUndefined PartitioningType = iota PartitioningMessageGroupID PartitioningPartitionID )
type ServerMessage ¶
type ServerMessage interface {
StatusData() rawtopiccommon.ServerMessageMetadata
SetStatus(status rawydb.StatusCode)
// contains filtered or unexported methods
}
type StreamWriter ¶
type StreamWriter struct {
Stream GrpcStream
Tracer *trace.Topic
InternalStreamID string
LogContext *context.Context
// contains filtered or unexported fields
}
func (*StreamWriter) CloseSend ¶
func (w *StreamWriter) CloseSend() error
func (*StreamWriter) Recv ¶
func (w *StreamWriter) Recv() (ServerMessage, error)
func (*StreamWriter) Send ¶
func (w *StreamWriter) Send(rawMsg ClientMessage) (err error)
type UpdateTokenRequest ¶
type UpdateTokenRequest struct {
rawtopiccommon.UpdateTokenRequest
// contains filtered or unexported fields
}
type UpdateTokenResponse ¶
type UpdateTokenResponse struct {
rawtopiccommon.UpdateTokenResponse
rawtopiccommon.ServerMessageMetadata
// contains filtered or unexported fields
}
type WriteAck ¶
type WriteAck struct {
SeqNo int64
MessageWriteStatus MessageWriteStatus
}
type WriteRequest ¶
type WriteRequest struct {
Messages []MessageData
Codec rawtopiccommon.Codec
Tx rawtopiccommon.TransactionIdentity
// contains filtered or unexported fields
}
func (*WriteRequest) Cut ¶
func (r *WriteRequest) Cut(count int) (head *WriteRequest, rest *WriteRequest)
func (*WriteRequest) FillCache ¶
func (r *WriteRequest) FillCache() *WriteRequest
func (*WriteRequest) Size ¶
func (r *WriteRequest) Size() int
type WriteResult ¶
type WriteResult struct {
rawtopiccommon.ServerMessageMetadata
Acks []WriteAck
PartitionID int64
WriteStatistics WriteStatistics
// contains filtered or unexported fields
}
func (*WriteResult) GetAcks ¶
func (r *WriteResult) GetAcks() (res traceAck)
GetAcks implemtnts trace.TopicWriterResultMessagesInfoAcks interface
type WriteStatistics ¶
type WriteStatistics struct {
PersistingTime time.Duration
MinQueueWaitTime time.Duration
MaxQueueWaitTime time.Duration
TopicQuotaWaitTime time.Duration
}
type WriteStatusSkipReason ¶
type WriteStatusSkipReason int
type WriteStatusType ¶
type WriteStatusType int
const ( WriteStatusTypeWritten WriteStatusType = iota + 1 WriteStatusTypeSkipped WriteStatusTypeWrittenInTx )
func (WriteStatusType) String ¶
func (t WriteStatusType) String() string
Source Files ¶
- Version
- v3.115.0 (latest)
- Published
- Aug 17, 2025
- Platform
- linux/amd64
- Imports
- 15 packages
- Last checked
- 8 months ago –
Tools for package owners.