(event: RemoteAppServerEvent)
| 503 | } |
| 504 | |
| 505 | private enqueueEvent(event: RemoteAppServerEvent): void { |
| 506 | if (this.skippedEvents > 0) { |
| 507 | const lagged: RemoteAppServerEvent = { |
| 508 | type: 'lagged', |
| 509 | skipped: this.skippedEvents, |
| 510 | } |
| 511 | if (appServerEventRequiresDelivery(event)) { |
| 512 | if (!this.events.pushLossless(lagged)) { |
| 513 | this.close('remote app-server event consumer channel is closed') |
| 514 | return |
| 515 | } |
| 516 | this.skippedEvents = 0 |
| 517 | } else if (this.events.tryPush(lagged)) { |
| 518 | this.skippedEvents = 0 |
| 519 | } else { |
| 520 | this.skippedEvents += 1 |
| 521 | void this.rejectIfServerRequestDropped(event) |
| 522 | return |
| 523 | } |
| 524 | } |
| 525 | |
| 526 | if (appServerEventRequiresDelivery(event)) { |
| 527 | if (!this.events.pushLossless(event)) { |
| 528 | this.close('remote app-server event consumer channel is closed') |
| 529 | } |
| 530 | return |
| 531 | } |
| 532 | |
| 533 | if (!this.events.tryPush(event)) { |
| 534 | this.skippedEvents += 1 |
| 535 | void this.rejectIfServerRequestDropped(event) |
| 536 | } |
| 537 | } |
| 538 | |
| 539 | private async rejectIfServerRequestDropped( |
| 540 | event: RemoteAppServerEvent, |
no test coverage detected