MCPcopy Create free account
hub / github.com/Noumena-Network/code / enqueueEvent

Method enqueueEvent

src/remote/appServer/client.ts:505–537  ·  view source on GitHub ↗
(event: RemoteAppServerEvent)

Source from the content-addressed store, hash-verified

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,

Callers 2

openMethod · 0.95
handleRawMessageMethod · 0.95

Calls 5

closeMethod · 0.95
pushLosslessMethod · 0.80
tryPushMethod · 0.80

Tested by

no test coverage detected