public void SendInJobWorks() { 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 sendJob = new SendJob { driver = clientDriver, connection = clientToServer }; clientDriver.ScheduleUpdate(sendJob.Schedule()).Complete(); var serverToClient = serverDriver.Accept(); serverDriver.ScheduleUpdate().Complete(); DataStreamReader strmReader; Assert.AreEqual(NetworkEvent.Type.Data, serverToClient.PopEvent(serverDriver, out strmReader)); var ctx = default(DataStreamReader.Context); Assert.AreEqual(42, strmReader.ReadInt(ref ctx)); clientDriver.Dispose(); serverDriver.Dispose(); }
protected override void OnUpdate() { var sendJob = new SendJob { data = InitJobData() }; ScheduleJobData(sendJob); }
protected override JobHandle OnUpdate(JobHandle inputDeps) { var sendJob = new SendJob(); sendJob.driver = m_ReceiveSystem.ConcurrentDriver; sendJob.reliablePipeline = m_ReceiveSystem.ReliablePipeline; sendJob.rpcBufferFromEntity = GetBufferFromEntity <OutgoingRpcDataStreamBufferComponent>(); // FIXME: because the job gets buffer from entity return(sendJob.ScheduleSingle(this, inputDeps)); }
protected override JobHandle OnUpdate(JobHandle inputDeps) { inputDeps = new SendJob <NetworkReliableOutBuffer> { driver = networkStreamSystem.concurrentDriver, pipeline = networkStreamSystem.reliablePipeline, } .Schedule(this, inputDeps); inputDeps = new SendJob <NetworkUnreliableOutBuffer> { driver = networkStreamSystem.concurrentDriver, pipeline = networkStreamSystem.unreliablePipeline, } .Schedule(this, inputDeps); return(inputDeps); }