private static void Registered(long managedDriverId, NativeArray *frameworkId, NativeArray *masterInfo) { CallScheduler(managedDriverId, (driver, executor) => executor.Registered(driver, ProtoBufHelper.Deserialize <FrameworkID>(frameworkId), ProtoBufHelper.Deserialize <MasterInfo>(masterInfo))); }
private static void Registered(long managedDriverId, NativeArray *executorInfo, NativeArray *frameworkInfo, NativeArray *slaveInfo) { CallExecutor(managedDriverId, (driver, executor) => executor.Registered(driver, ProtoBufHelper.Deserialize <ExecutorInfo>(executorInfo), ProtoBufHelper.Deserialize <FrameworkInfo>(frameworkInfo), ProtoBufHelper.Deserialize <SlaveInfo>(slaveInfo))); }
private static void FrameworkMessage(long managedDriverId, NativeArray *executorId, NativeArray *slaveId, NativeArray *data) { CallScheduler(managedDriverId, (driver, executor) => executor.FrameworkMessage(driver, ProtoBufHelper.Deserialize <ExecutorID>(executorId), ProtoBufHelper.Deserialize <SlaveID>(slaveId), MarshalHelper.ToMangedByteArray(data))); }
private static void ExecutorLost(long managedDriverId, NativeArray *executorId, NativeArray *slaveId, int status) { CallScheduler(managedDriverId, (driver, executor) => executor.ExecutorLost(driver, ProtoBufHelper.Deserialize <ExecutorID>(executorId), ProtoBufHelper.Deserialize <SlaveID>(slaveId), status)); }
public static unsafe byte[] ToMangedByteArray(NativeArray *bytes) { var length = (*bytes).Length; var data = (*bytes).Items; var result = new byte[length]; Marshal.Copy(data, result, 0, length); return(result); }
public static unsafe IEnumerable <TItem> DeserializeCollection <TItem>(NativeArray *collection) where TItem : IExtensible { var length = (*collection).Length; var items = (NativeArray **)(*collection).Items; var result = new List <TItem>(); for (var i = 0; i < length; i++) { result.Add(Deserialize <TItem>(items[i])); } return(result); }
public static unsafe T Deserialize <T>(NativeArray *bytes) where T : IExtensible { var length = (*bytes).Length; var data = (*bytes).Items; if (length == 0 || data == IntPtr.Zero) { return(default(T)); } using (var ms = new UnmanagedMemoryStream((byte *)data.ToPointer(), length)) { return(Serializer.Deserialize <T>(ms)); } }
private static void FrameworkMessage(long managedDriverId, NativeArray *data) { CallExecutor(managedDriverId, (driver, executor) => executor.FrameworkMessage(driver, MarshalHelper.ToMangedByteArray(data))); }
private static void KillTask(long managedDriverId, NativeArray *taskId) { CallExecutor(managedDriverId, (driver, executor) => executor.KillTask(driver, ProtoBufHelper.Deserialize <TaskID>(taskId))); }
private static void LaunchTask(long managedDriverId, NativeArray *taskInfo) { CallExecutor(managedDriverId, (driver, executor) => executor.LaunchTask(driver, ProtoBufHelper.Deserialize <TaskInfo>(taskInfo))); }
private static void SlaveLost(long managedDriverId, NativeArray *slaveId) { CallScheduler(managedDriverId, (driver, executor) => executor.SlaveLost(driver, ProtoBufHelper.Deserialize <SlaveID>(slaveId))); }
private static void StatusUpdate(long managedDriverId, NativeArray *status) { CallScheduler(managedDriverId, (driver, executor) => executor.StatusUpdate(driver, ProtoBufHelper.Deserialize <TaskStatus>(status))); }
private static void OfferRescinded(long managedDriverId, NativeArray *offerId) { CallScheduler(managedDriverId, (driver, executor) => executor.OfferRescinded(driver, ProtoBufHelper.Deserialize <OfferID>(offerId))); }
private static void ResourceOffers(long managedDriverId, NativeArray *offers) { CallScheduler(managedDriverId, (driver, executor) => executor.ResourceOffers(driver, ProtoBufHelper.DeserializeCollection <Offer>(offers))); }
internal unsafe ObjectArrayField(NativeArray *array) { Array = array; }