PeerCastStation.FLV.RTMP.RTMPConnection.HandshakeOld C# (CSharp) Method

HandshakeOld() private method

private HandshakeOld ( RTMPBinaryReader c1reader, CancellationToken cancel_token ) : Task
c1reader RTMPBinaryReader
cancel_token System.Threading.CancellationToken
return Task
    private async Task HandshakeOld(RTMPBinaryReader c1reader, CancellationToken cancel_token)
    {
      var s1vec = new byte[1528];
      var rand = new Random();
      rand.NextBytes(s1vec);
      await SendAsync(writer => {
        writer.Write(0);
        writer.Write(0);
        writer.Write(s1vec);
      }, cancel_token);

      var c1time = c1reader.ReadInt32();
      var c1ver  = c1reader.ReadInt32();
      var c1vec  = c1reader.ReadBytes(1528);
      await SendAsync(writer => {
        writer.Write(c1time);
        writer.Write(c1ver);
        writer.Write(c1vec);
      }, cancel_token);

      using (var reader=await RecvAsync(1536, cancel_token)) {
        var c2time = reader.ReadInt32();
        var c2zero = reader.ReadInt32();
        var c2vec = reader.ReadBytes(1528);
        if (!s1vec.SequenceEqual(c2vec)) {
          throw new InvalidDataException("C2 random vector is not matched.");
        }
      }
    }