update method

void update(
  1. SetVector<OneElement> update
)

Sends an update to connected clients and records the new values.

Implementation

void update(SetVector update) {
  final key = (update.device, update.name);
  final current = _definitions[key];
  if (current != null) _definitions[key] = _apply(current, update);
  for (final connection in connections) {
    if (!connection._wants(update.device, update.name)) continue;
    if (update is SetBlobVector) {
      if (connection.blobMode(update.device, update.name) == BlobMode.never) {
        continue;
      }
    } else if (connection.blobMode(update.device, update.name) ==
        BlobMode.only) {
      continue;
    }
    connection.send(update);
  }
}