private void serialize(OutputStream out, Object object, byte fid) throws Exception { switch (FunctionId.values()[fid]) { case REGISTER_PARTITION_PROVIDER: RegisterPartitionProviderFunction.serialize(out, object); return; case REGISTER_PARTITION_REQUEST: RegisterPartitionRequestFunction.serialize(out, object); return; case REPORT_PARTITION_AVAILABILITY: ReportPartitionAvailabilityFunction.serialize(out, object); return; case NODE_HEARTBEAT: NodeHeartbeatFunction.serialize(out, object); return; case START_TASKS: StartTasksFunction.serialize(out, object); return; case NOTIFY_TASK_COMPLETE: NotifyTaskCompleteFunction.serialize(out, object); return; case NOTIFY_JOBLET_CLEANUP: NotifyJobletCleanupFunction.serialize(out, object); return; case CLEANUP_JOBLET: CleanupJobletFunction.serialize(out, object); return; } JavaSerializationBasedPayloadSerializerDeserializer.serialize(out, object); }