Принятие и отдача ресурсов

передача ресурсов от А до Б

Механизм может быть настроен либо на Push, либо Pull Resources, в зависимости от того, какое действие он должен предпринять после активации.

Когда механизм запускается, он будет пытаться извлечь ресурсы через любые входы, подключенные к нему. Количество ресурсов, которые он извлекает, определяется скоростью отдельного входного соединения с ресурсами - числом рядом со стрелкой

По умолчанию у механизмов стоит pull режим

Кроме того, узел может быть установлен в режиме push. В этом режиме, когда узел запускается, он отдает ресурсы вдоль своих выходных соединений.

Механизм в режиме push помечен p.

Хранилище, которое имеет только выходы, всегда считается находящимся в режиме push, в этом случае маркер p опускается.

Если узел пытается получить больше ресурсов, чем имеется на вход, он будет обрабатывать это одним из двух способов:

  1. По умолчанию узел забирает столько ресурсов, сколько может, вплоть до скорости потока своих входов. Если ресурсов недостаточно, все равно забирает те, которые есть.

  2. В качестве альтернативы, узел может быть установлен для принятие всех ресурсов, только если все доступны. Иначе в этом режиме, когда не все ресурсы доступны, ни один не извлекается.

Механизмы в режиме pull all помечены &

Эти правила также применяются к отдающим узлам: по умолчанию push узел отправляет столько ресурсов, сколько доступно по его выходному соединению ресурсов, вплоть до скорости потока на выходе.

Механизм в режиме push и all отправляют ресурсы только тогда, когда он может предоставить все свои выходы. Это значит, что механизмы в режиме push могут быть обозначены сразу и p и &.

.Пример песочных часов

В приведенном ниже видео с использованием хранилищ и соединений с ресурсами мы создали простые песочные часы.

Верхнее хранилище (A) пассивно и содержит 5 ресурсов, а нижнее хранилище (B) работает автоматически и запускается без каких-либо ресурсов. Каждый шаг по времени (в данном случае 1 секунда), B будет тянуть один ресурс из A, пока все ресурсы не переместятся из A в B.

Вам может это пригодиться:

Last updated