if (null ===
$this->currentResponse
) { $this->currentResponse =
$this->client->
receiveMessage([ 'QueueUrl' =>
$this->
getQueueUrl(),
'VisibilityTimeout' =>
$this->configuration
['visibility_timeout'
],
'MaxNumberOfMessages' =>
$this->configuration
['buffer_size'
],
'MessageAttributeNames' =>
['All'
],
'WaitTimeSeconds' =>
$this->configuration
['wait_time'
],
]);
} if (!
$this->
fetchMessage()) { return;
} yield from $this->
getPendingMessages();
} private function fetchMessage(): bool
{ if (!
$this->currentResponse->
resolve($this->configuration
['poll_timeout'
])) { return false;
}