26 lines
986 B
Python
26 lines
986 B
Python
from frostfs_sdk.models.mappers.version_mapper import VersionMapper
|
|
from frostfs_sdk.models.dto.meta_header import MetaHeader
|
|
from frostfs_sdk.protos.models.session import types_pb2 as types_pb2_session
|
|
|
|
|
|
class MetaHeaderMapper:
|
|
"""
|
|
Maps a MetaHeader object to a Protobuf RequestMetaHeader object.
|
|
"""
|
|
@staticmethod
|
|
def to_grpc_message(meta_header: MetaHeader):
|
|
"""
|
|
Converts a MetaHeader object to a Protobuf RequestMetaHeader object.
|
|
|
|
:param meta_header: A MetaHeader object.
|
|
:return: A Protobuf RequestMetaHeader object.
|
|
:raises ValueError: If the input meta_header is None.
|
|
"""
|
|
if meta_header is None:
|
|
raise ValueError(f"Input parameter is missing: {MetaHeader.__name__}")
|
|
|
|
return types_pb2_session.RequestMetaHeader(
|
|
version=VersionMapper.to_grpc_message(meta_header.get_version()),
|
|
epoch=meta_header.get_epoch(),
|
|
ttl=meta_header.get_ttl()
|
|
)
|