code: def encode_split(
      slice_table_meta: "TableMeta",
      total_size: int,
      num_slice: int,
      slice_size: int,
  ) -> bytes:
      return struct.pack("!B", 1) + struct.pack(
          "!IIIIIII",
          total_size,
          num_slice,
          slice_size,
          slice_table_meta.num_partitions,
          slice_table_meta.key_serdes_type,
          slice_table_meta.value_serdes_type,
          slice_table_meta.partitioner_type,
      )
  
imports: import io
  import logging
  import pickle
  import struct
  import typing
  from typing import Any, List, Tuple, TypeVar
  from fate.arch.config import cfg
  from ._table_meta import TableMeta
  from ._type import PartyMeta
label_desc: Use image node_id 2 for calling the _FederationBytesCoder obj's underlying member method code with example usage: obj.encode_split(slice_table_meta, total_size, num_slice, slice_size) and returns: unknown