Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        protected override void OnUpdate()
        {
            var sendJob = new SendJob {
                data = InitJobData()
            };

            ScheduleJobData(sendJob);
        }
Exemplo n.º 3
0
    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);
        }