Skip to content

Back off briefly when a pipe pull cannot be delivered anywhere - #1380

Open
RasmusKD wants to merge 1 commit into
EngineHub:masterfrom
RasmusKD:pipe-blocked-backoff
Open

Back off briefly when a pipe pull cannot be delivered anywhere#1380
RasmusKD wants to merge 1 commit into
EngineHub:masterfrom
RasmusKD:pipe-blocked-backoff

Conversation

@RasmusKD

Copy link
Copy Markdown
Contributor

A sticky piston on a blocked network re-walks the whole pipe on every pulse: pull a stack, find no room anywhere, take it back as leftovers, repeat. On clocked systems that is a full traversal (plus any chunk loads along the route) per pulse, forever, moving nothing.

When a pull delivers nothing at all, the piston now waits before pulling again. Configurable via 'full-pipe-cooldown' (seconds, default 2, 0 disables). A partly delivered pull is not paused.

While paused, requests that carry items (another mechanic feeding the piston) still buffer into the source container, so nothing is dropped.

Same pull-loop area as #1376/#1378, happy to rebase whichever lands last.

A sticky piston on a blocked network re-walked the whole pipe on every
pulse, pulled a stack, found no room, and returned it as leftovers,
repeating the full traversal (and any chunk loads along the route)
forever. When a pull delivers nothing at all, the piston now waits
before pulling again, configurable via 'full-pipe-cooldown' (seconds,
default 2, 0 disables).

While paused, requests that carry items (another mechanic feeding the
piston) still buffer into the source container, so nothing is dropped.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant