public void AcceptInJobWorks() { var serverDriver = new LocalNetworkDriver(new NetworkDataStreamParameter { size = 64 }); serverDriver.Bind(IPCManager.Instance.CreateEndPoint()); serverDriver.Listen(); var clientDriver = new LocalNetworkDriver(new NetworkDataStreamParameter { size = 64 }); /*var clientToServer =*/ clientDriver.Connect(serverDriver.LocalEndPoint()); clientDriver.ScheduleUpdate().Complete(); var serverToClient = new NativeArray <NetworkConnection>(1, Allocator.TempJob); var acceptJob = new AcceptJob { driver = serverDriver, connections = serverToClient }; Assert.IsFalse(serverToClient[0].IsCreated); acceptJob.Schedule(serverDriver.ScheduleUpdate()).Complete(); Assert.IsTrue(serverToClient[0].IsCreated); serverToClient.Dispose(); clientDriver.Dispose(); serverDriver.Dispose(); }
protected override JobHandle OnUpdate(JobHandle inputDeps) { // inputDeps = new CloseJob { commandBuffer = endBarrier.CreateCommandBuffer().ToConcurrent(), driver = driver, } .ScheduleSingle(this, inputDeps); // inputDeps = _driver.ScheduleUpdate(inputDeps); // if (_listening) { inputDeps = new AcceptJob() { NetworkInBuffer = typeof(NetworkInBuffer), NetworkReliableOutBuffer = typeof(NetworkReliableOutBuffer), NetworkUnreliableOutBuffer = typeof(NetworkUnreliableOutBuffer), endCommandBuffer = endBarrier.CreateCommandBuffer(), driver = _driver, } .Schedule(inputDeps); #if UNITY_EDITOR OnRename(); #endif } else if (connectEntity != Entity.Null) { OnClose(); } endBarrier.AddJobHandleForProducer(inputDeps); return(inputDeps); }
public void ReceiveInJobWorks() { var serverDriver = new LocalNetworkDriver(new NetworkDataStreamParameter { size = 64 }); serverDriver.Bind(IPCManager.Instance.CreateEndPoint()); serverDriver.Listen(); var clientDriver = new LocalNetworkDriver(new NetworkDataStreamParameter { size = 64 }); var clientToServer = clientDriver.Connect(serverDriver.LocalEndPoint()); WaitForConnected(clientDriver, serverDriver, clientToServer); var strmWriter = new DataStreamWriter(4, Allocator.Temp); strmWriter.Write(42); clientToServer.Send(clientDriver, strmWriter); strmWriter.Dispose(); clientDriver.ScheduleUpdate().Complete(); var serverToClient = new NativeArray <NetworkConnection>(1, Allocator.TempJob); var result = new NativeArray <int>(1, Allocator.TempJob); var recvJob = new ReceiveJob { driver = serverDriver, connections = serverToClient, result = result }; Assert.AreNotEqual(42, result[0]); var acceptJob = new AcceptJob { driver = serverDriver, connections = serverToClient }; recvJob.Schedule(serverDriver.ScheduleUpdate(acceptJob.Schedule())).Complete(); Assert.AreEqual(42, result[0]); result.Dispose(); serverToClient.Dispose(); clientDriver.Dispose(); serverDriver.Dispose(); }
public object acceptjob(AcceptJob model) { bool status = false; string message = "Failed"; try { Tuple <bool, string> t = _repository.acceptjob(model); status = t.Item1; message = t.Item2; if (status) { return(Json(new { Status = status, Message = message }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { Status = status, Message = message }, JsonRequestBehavior.AllowGet)); } } catch (Exception ex) { return(new { Status = status, Message = ex.Message }); } }