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() )