Skip to main content
. 2019 Jun 7;19(11):2602. doi: 10.3390/s19112602
Algorithm 2 Dataflow gate.
Require: Data consumer threads, Consumer;
  • Map of data buffers, Map[Buffer];

  • Buffer size threshold, T;

Ensure: final result set,res;
  •   1:

    while Consumer.listening do

  •   2:

        if Consumer.hasNewElement then

  •   3:

            element=consumer.newElement;

  •   4:

            key=getKeyPrefix(element);

  •   5:

            buffer=Map[Buffer].get(key);

  •   6:

            if buffer.contains(element) then

  •   7:

                continue;

  •   8:

            else

  •   9:

                buffer+=element;

  • 10:

            end if

  • 11:

            if buffer.length=T then

  • 12:

                res=buffer;

  • 13:

                post(res);

  • 14:

                buffer=null;

  • 15:

            end if

  • 16:

        end if

  • 17:

    end while