Example #1
0
    public async void Send(int timeProbeIndex)
    {
        var data = new DataTimeState
        {
            Sequence = timeProbeIndex
        };

        SetTimeStamp(ref data);
        await Send(data, OP_CODE_TIME_REQUEST);
    }
Example #2
0
 public void SetTimeStamp(ref DataTimeState target)
 {
     if (IsLead)
     {
         target.TimeLead = DateTime.UtcNow.ToBinary();
     }
     else
     {
         target.TimeFollow = DateTime.UtcNow.ToBinary();
     }
 }
Example #3
0
    private async Task Send(DataTimeState state, long opCode)
    {
        var handle = GCHandle.Alloc(_bufferTimeOut, GCHandleType.Pinned);

        Marshal.StructureToPtr(state, handle.AddrOfPinnedObject(), false);
        handle.Free();

        _time = DateTime.UtcNow;
        await _netSocket.SendMatchStateAsync(
            _netMatch.Id,
            opCode,
            Convert.ToBase64String(_bufferTimeOut));
    }