NettyRpcEnv

NettyRpcEnv is an RpcEnv using Netty ("an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients").

Creating Instance

NettyRpcEnv takes the following to be created:

  • SparkConf

  • JavaSerializerInstance

  • Host name

  • SecurityManager

  • Number of CPU cores

NettyRpcEnv is created when NettyRpcEnvFactory is requested to create an RpcEnv.

NettyStreamManager

NettyRpcEnv creates a NettyStreamManager when created.

NettyStreamManager is used for the following:

TransportContext

NettyRpcEnv creates a TransportContext.

Starting Server

startServer(
  bindAddress: String,
  port: Int): Unit

startServer…​FIXME

startServer is used when NettyRpcEnvFactory is requested to create an RpcEnv (in server mode).

deserialize Method

deserialize[T: ClassTag](
  client: TransportClient,
  bytes: ByteBuffer): T

deserialize…​FIXME

deserialize is used when:

  • RequestMessage utility is created

  • NettyRpcEnv is requested to ask