public Task SendMemoryVect(ushort address, byte version, byte type, sbyte[] value)
{
if (value == null) throw new ArgumentNullException(nameof(value));
if (value.Length > _maxMemoryVectLength)
{
throw new ArgumentException($"Value '{value}' is too long (max size {_maxMemoryVectLength})", nameof(value));
}
var packet = new MemoryVectPacket
{
ComponenId = _identity.ComponentId,
SystemId = _identity.SystemId,
CompatFlags = 0,
IncompatFlags = 0,
Sequence = _seq.GetNextSequenceNumber(),
Payload =
{
Address = address,
Type = type,
Ver = version,
}
};
value.CopyTo(packet.Payload.Value, 0);
return _connection.Send(packet, _disposableCancel.Token);
}