Stream<RawSocketEvent> distinct(
[bool equals(T previous, T next)]
)

Skips data events if they are equal to the previous data event.

The returned stream provides the same events as this stream, except that it never provides two consequtive data events that are equal.

Equality is determined by the provided equals method. If that is omitted, the '==' operator on the last provided data element is used.

The returned stream is a broadcast stream if this stream is. If a broadcast stream is listened to more than once, each subscription will individually perform the equals test.

Source

/**
 * Skips data events if they are equal to the previous data event.
 *
 * The returned stream provides the same events as this stream, except
 * that it never provides two consequtive data events that are equal.
 *
 * Equality is determined by the provided [equals] method. If that is
 * omitted, the '==' operator on the last provided data element is used.
 *
 * The returned stream is a broadcast stream if this stream is.
 * If a broadcast stream is listened to more than once, each subscription
 * will individually perform the `equals` test.
 */
Stream<T> distinct([bool equals(T previous, T next)]) {
  return new _DistinctStream(this, equals);
}