def toBinary()

in remote/src/main/scala/org/apache/pekko/remote/serialization/MiscMessageSerializer.scala [45:81]


  def toBinary(obj: AnyRef): Array[Byte] = obj match {
    case identify: Identify                    => serializeIdentify(identify)
    case identity: ActorIdentity               => serializeActorIdentity(identity)
    case Some(value)                           => serializeSome(value)
    case None                                  => ParameterlessSerializedMessage
    case o: Optional[_]                        => serializeOptional(o)
    case r: ActorRef                           => serializeActorRef(r)
    case s: Status.Success                     => serializeStatusSuccess(s)
    case f: Status.Failure                     => serializeStatusFailure(f)
    case StatusReply.Ack                       => Array.emptyByteArray
    case r @ StatusReply.Success(_)            => serializeStatusReplySuccess(r)
    case r @ StatusReply.Error(_)              => serializeStatusReplyError(r)
    case ex: ActorInitializationException      => serializeActorInitializationException(ex)
    case ex: ThrowableNotSerializableException => serializeThrowableNotSerializableException(ex)
    case t: Throwable                          => throwableSupport.serializeThrowable(t)
    case PoisonPill                            => ParameterlessSerializedMessage
    case Kill                                  => ParameterlessSerializedMessage
    case RemoteWatcher.Heartbeat               => ParameterlessSerializedMessage
    case Done                                  => ParameterlessSerializedMessage
    case NotUsed                               => ParameterlessSerializedMessage
    case hbrsp: RemoteWatcher.HeartbeatRsp     => serializeHeartbeatRsp(hbrsp)
    case rs: RemoteScope                       => serializeRemoteScope(rs)
    case LocalScope                            => ParameterlessSerializedMessage
    case a: Address                            => serializeAddressData(a)
    case u: UniqueAddress                      => serializeClassicUniqueAddress(u)
    case c: Config                             => serializeConfig(c)
    case dr: DefaultResizer                    => serializeDefaultResizer(dr)
    case fc: FromConfig                        => serializeFromConfig(fc)
    case bp: BalancingPool                     => serializeBalancingPool(bp)
    case bp: BroadcastPool                     => serializeBroadcastPool(bp)
    case rp: RandomPool                        => serializeRandomPool(rp)
    case rrp: RoundRobinPool                   => serializeRoundRobinPool(rrp)
    case sgp: ScatterGatherFirstCompletedPool  => serializeScatterGatherFirstCompletedPool(sgp)
    case tp: TailChoppingPool                  => serializeTailChoppingPool(tp)
    case rrc: RemoteRouterConfig               => serializeRemoteRouterConfig(rrc)
    case _                                     => throw new IllegalArgumentException(s"Cannot serialize object of type [${obj.getClass.getName}]")
  }