Rename Reader to Consumer and Writer to Producer
This commit is contained in:
14
README.md
14
README.md
@ -44,30 +44,32 @@ Usage
|
||||
### Publish
|
||||
|
||||
```php
|
||||
use Nsq\Writer;
|
||||
use Nsq\Producer;
|
||||
|
||||
$writer = new Writer(address: 'tcp://nsqd:4150');
|
||||
$producer = new Producer(address: 'tcp://nsqd:4150');
|
||||
|
||||
// Publish a message to a topic
|
||||
$writer->pub('topic', 'Simple message');
|
||||
$producer->pub('topic', 'Simple message');
|
||||
|
||||
// Publish multiple messages to a topic (atomically)
|
||||
$writer->mpub('topic', [
|
||||
$producer->mpub('topic', [
|
||||
'Message one',
|
||||
'Message two',
|
||||
]);
|
||||
|
||||
// Publish a deferred message to a topic
|
||||
$writer->dpub('topic', 5000, 'Deferred message');
|
||||
$producer->dpub('topic', 5000, 'Deferred message');
|
||||
```
|
||||
|
||||
### Subscription
|
||||
|
||||
```php
|
||||
use Nsq\Consumer;
|
||||
use Nsq\Message;
|
||||
use Nsq\Subscriber;
|
||||
|
||||
$subscriber = new Subscriber(address: 'tcp://nsqd:4150');
|
||||
$consumer = new Consumer('tcp://nsqd:4150');
|
||||
$subscriber = new Subscriber($consumer);
|
||||
|
||||
$generator = $subscriber->subscribe('topic', 'channel', timeout: 5);
|
||||
foreach ($generator as $message) {
|
||||
|
@ -4,7 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace Nsq;
|
||||
|
||||
class Reader extends Connection
|
||||
class Consumer extends Connection
|
||||
{
|
||||
/**
|
||||
* Subscribe to a topic/channel.
|
@ -28,20 +28,20 @@ final class Message
|
||||
*/
|
||||
public string $body;
|
||||
|
||||
public function __construct(int $timestamp, int $attempts, string $id, string $body, Reader $reader)
|
||||
private bool $finished = false;
|
||||
|
||||
private Consumer $consumer;
|
||||
|
||||
public function __construct(int $timestamp, int $attempts, string $id, string $body, Consumer $consumer)
|
||||
{
|
||||
$this->timestamp = $timestamp;
|
||||
$this->attempts = $attempts;
|
||||
$this->id = $id;
|
||||
$this->body = $body;
|
||||
|
||||
$this->connection = $reader;
|
||||
$this->consumer = $consumer;
|
||||
}
|
||||
|
||||
private bool $finished = false;
|
||||
|
||||
private Reader $connection;
|
||||
|
||||
public function isFinished(): bool
|
||||
{
|
||||
return $this->finished;
|
||||
@ -53,7 +53,7 @@ final class Message
|
||||
throw new LogicException('Can\'t finish message as it already finished.');
|
||||
}
|
||||
|
||||
$this->connection->fin($this->id);
|
||||
$this->consumer->fin($this->id);
|
||||
$this->finished = true;
|
||||
}
|
||||
|
||||
@ -63,7 +63,7 @@ final class Message
|
||||
throw new LogicException('Can\'t requeue message as it already finished.');
|
||||
}
|
||||
|
||||
$this->connection->req($this->id, $timeout);
|
||||
$this->consumer->req($this->id, $timeout);
|
||||
$this->finished = true;
|
||||
}
|
||||
|
||||
@ -73,6 +73,6 @@ final class Message
|
||||
throw new LogicException('Can\'t touch message as it already finished.');
|
||||
}
|
||||
|
||||
$this->connection->touch($this->id);
|
||||
$this->consumer->touch($this->id);
|
||||
}
|
||||
}
|
||||
|
@ -10,7 +10,7 @@ use function pack;
|
||||
use function sprintf;
|
||||
use const PHP_EOL;
|
||||
|
||||
final class Writer extends Connection
|
||||
final class Producer extends Connection
|
||||
{
|
||||
/**
|
||||
* @psalm-suppress PossiblyFalseOperand
|
@ -44,7 +44,7 @@ final class Response
|
||||
return self::TYPE_RESPONSE === $this->type && self::HEARTBEAT === $this->buffer->bytes();
|
||||
}
|
||||
|
||||
public function toMessage(Reader $reader): Message
|
||||
public function toMessage(Consumer $reader): Message
|
||||
{
|
||||
if (self::TYPE_MESSAGE !== $this->type) {
|
||||
throw new Exception(sprintf('Expecting "%s" type, but NSQ return: "%s"', self::TYPE_MESSAGE, $this->type));
|
||||
|
@ -14,9 +14,9 @@ final class Subscriber
|
||||
public const STOP = 0;
|
||||
public const CHANGE_TIMEOUT = 1;
|
||||
|
||||
private Reader $reader;
|
||||
private Consumer $reader;
|
||||
|
||||
public function __construct(Reader $reader)
|
||||
public function __construct(Consumer $reader)
|
||||
{
|
||||
$this->reader = $reader;
|
||||
}
|
||||
|
@ -3,9 +3,9 @@
|
||||
declare(strict_types=1);
|
||||
|
||||
use Nsq\Message;
|
||||
use Nsq\Reader;
|
||||
use Nsq\Consumer;
|
||||
use Nsq\Subscriber;
|
||||
use Nsq\Writer;
|
||||
use Nsq\Producer;
|
||||
use Nsq\Exception;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
@ -13,10 +13,10 @@ final class NsqTest extends TestCase
|
||||
{
|
||||
public function test(): void
|
||||
{
|
||||
$writer = new Writer('tcp://localhost:4150');
|
||||
$writer = new Producer('tcp://localhost:4150');
|
||||
$writer->pub(__FUNCTION__, __FUNCTION__);
|
||||
|
||||
$reader = new Reader('tcp://localhost:4150');
|
||||
$reader = new Consumer('tcp://localhost:4150');
|
||||
$subscriber = new Subscriber($reader);
|
||||
$generator = $subscriber->subscribe(__FUNCTION__, __FUNCTION__, 1);
|
||||
|
||||
@ -85,7 +85,7 @@ final class NsqTest extends TestCase
|
||||
$this->expectException(Exception::class);
|
||||
$this->expectExceptionMessage($exceptionMessage);
|
||||
|
||||
$writer = new Writer('tcp://localhost:4150');
|
||||
$writer = new Producer('tcp://localhost:4150');
|
||||
$writer->pub($topic, $body);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user