github.com/ydb-platform/ydb-go-sdk/v3@v3.57.0/internal/grpcwrapper/rawtopic/rawtopiccommon/server_message_metadata.go (about)

     1  package rawtopiccommon
     2  
     3  import (
     4  	"github.com/ydb-platform/ydb-go-genproto/protos/Ydb"
     5  	"github.com/ydb-platform/ydb-go-genproto/protos/Ydb_Issue"
     6  
     7  	"github.com/ydb-platform/ydb-go-sdk/v3/internal/grpcwrapper/rawydb"
     8  )
     9  
    10  type StatusAndIssues interface {
    11  	GetStatus() Ydb.StatusIds_StatusCode
    12  	GetIssues() []*Ydb_Issue.IssueMessage
    13  }
    14  
    15  type ServerMessageMetadata struct {
    16  	Status rawydb.StatusCode
    17  	Issues rawydb.Issues
    18  }
    19  
    20  func (m *ServerMessageMetadata) MetaFromStatusAndIssues(p StatusAndIssues) error {
    21  	if err := m.Status.FromProto(p.GetStatus()); err != nil {
    22  		return err
    23  	}
    24  
    25  	return m.Issues.FromProto(p.GetIssues())
    26  }
    27  
    28  func (m *ServerMessageMetadata) StatusData() ServerMessageMetadata {
    29  	return *m
    30  }
    31  
    32  func (m *ServerMessageMetadata) SetStatus(status rawydb.StatusCode) {
    33  	m.Status = status
    34  }