def toBinary()

in distributed-data/src/main/scala/org/apache/pekko/cluster/ddata/protobuf/ReplicatedDataSerializer.scala [380:405]


  def toBinary(obj: AnyRef): Array[Byte] = obj match {
    case m: ORSet[_]                     => compress(orsetToProto(m))
    case m: ORSet.AddDeltaOp[_]          => orsetToProto(m.underlying).toByteArray
    case m: ORSet.RemoveDeltaOp[_]       => orsetToProto(m.underlying).toByteArray
    case m: GSet[_]                      => gsetToProto(m).toByteArray
    case m: GCounter                     => gcounterToProto(m).toByteArray
    case m: PNCounter                    => pncounterToProto(m).toByteArray
    case m: Flag                         => flagToProto(m).toByteArray
    case m: LWWRegister[_]               => lwwRegisterToProto(m).toByteArray
    case m: ORMap[_, _]                  => compress(ormapToProto(m))
    case m: ORMap.PutDeltaOp[_, _]       => ormapPutToProto(m).toByteArray
    case m: ORMap.RemoveDeltaOp[_, _]    => ormapRemoveToProto(m).toByteArray
    case m: ORMap.RemoveKeyDeltaOp[_, _] => ormapRemoveKeyToProto(m).toByteArray
    case m: ORMap.UpdateDeltaOp[_, _]    => ormapUpdateToProto(m).toByteArray
    case m: LWWMap[_, _]                 => compress(lwwmapToProto(m))
    case m: PNCounterMap[_]              => compress(pncountermapToProto(m))
    case m: ORMultiMap[_, _]             => compress(multimapToProto(m))
    case DeletedData                     => dm.Empty.getDefaultInstance.toByteArray
    case m: VersionVector                => versionVectorToProto(m).toByteArray
    case Key(id)                         => keyIdToBinary(id)
    case m: ORSet.DeltaGroup[_]          => orsetDeltaGroupToProto(m).toByteArray
    case m: ORMap.DeltaGroup[_, _]       => ormapDeltaGroupToProto(m).toByteArray
    case m: ORSet.FullStateDeltaOp[_]    => orsetToProto(m.underlying).toByteArray
    case _ =>
      throw new IllegalArgumentException(s"Can't serialize object of type ${obj.getClass} in [${getClass.getName}]")
  }