error[E0277]: `OneAtATime` does not deliver messages in batches
--> tests/ui/subscriber_batch_without_batching.rs:53:15
|
53 | b.include(handle.batch(nonzero!(64)));
| ^^^^^^^ this subscription has no batching of its own
|
help: the trait `BatchSubscriber` is not implemented for `OneAtATime`
--> tests/ui/subscriber_batch_without_batching.rs:13:1
|
13 | struct OneAtATime(MemorySubscriber);
| ^^^^^^^^^^^^^^^^^
= note: a handler taking `&[T]` is handed whole batches: mount it on a subscription kind that batches. A broker whose transport has no native batches gives its subscriber this capability through the `Buffered` adapter (see `BatchSubscriber` and `Buffered`)
help: the following other types implement trait `BatchSubscriber`
--> src/memory/capability.rs
|
| impl<Log: LogMode> BatchSubscriber for MemorySubscriber<Log> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `MemorySubscriber<Log>`
|
::: src/buffered.rs
|
| impl<S: Subscriber> BatchSubscriber for BufferedSubscriber<S> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `BufferedSubscriber<S>`
= note: required for `ruststream::runtime::forms::Batch` to implement `ruststream::runtime::RouterMount<Router<MemoryBroker>, SubscriberBuilder<Sealed<HandleValue<ruststream::runtime::Batch<Order>, (), (), (), handle, ruststream::runtime::Probed>>, Trickle, (Open, Open, Open, Fixed)>>`
= note: required for `ruststream::runtime::forms::Batch` to implement `ruststream::runtime::IncludeMount<'_, MemoryBroker, Identity, (), (), PublishIdentity, SubscriberBuilder<Sealed<HandleValue<ruststream::runtime::Batch<Order>, (), (), (), handle, ruststream::runtime::Probed>>, Trickle, (Open, Open, Open, Fixed)>>`
error[E0277]: `Trickle` declares `Copies = AddressedCopies` but says no address
--> tests/ui/subscriber_batch_without_batching.rs:53:15
|
53 | b.include(handle.batch(nonzero!(64)));
| ^^^^^^^ no redelivery address for this descriptor on `ConnectedMemoryBroker`
|
help: the trait `RedeliveryAddressed<ConnectedMemoryBroker>` is not implemented for `Trickle`
--> tests/ui/subscriber_batch_without_batching.rs:25:1
|
25 | struct Trickle {
| ^^^^^^^^^^^^^^
= note: a descriptor whose retry copies this process publishes to one destination implements `RedeliveryAddressed` beside `SubscriptionSource`; one that reads many destinations declares `Copies = NamedCopies` and lets the mount site name one
= help: the following other types implement trait `RedeliveryAddressed<C>`:
`MemoryPattern` implements `RedeliveryAddressed<ConnectedMemoryBroker<Log>>`
`MemorySource` implements `RedeliveryAddressed<ConnectedMemoryBroker<Log>>`
`Name` implements `RedeliveryAddressed<C>`
`StartAt<S, P>` implements `RedeliveryAddressed<C>`
`ruststream::Buffered<S>` implements `RedeliveryAddressed<C>`
= note: required for `AddressedCopies` to implement `ruststream::runtime::CopyPathAddress<ConnectedMemoryBroker, Trickle>`
= note: required for `runtime::router::routes::BatchRoute<Trickle, runtime::batch::TypedBatch<MemoryMessage, runtime::input::Decoded<Order>, JsonCodec, runtime::handle::eager::BatchBody<ruststream::runtime::Batch<Order>, handle>>>` to implement `runtime::router::routes::MountRoute<MemoryBroker, (), PublishIdentity>`
= note: required for `(runtime::router::routes::BatchRoute<Trickle, runtime::batch::TypedBatch<MemoryMessage, runtime::input::Decoded<Order>, JsonCodec, runtime::handle::eager::BatchBody<ruststream::runtime::Batch<Order>, handle>>>, ())` to implement `RouterDef<MemoryBroker>`
= note: required for `Router<MemoryBroker, (runtime::router::routes::BatchRoute<Trickle, runtime::batch::TypedBatch<MemoryMessage, runtime::input::Decoded<Order>, JsonCodec, runtime::handle::eager::BatchBody<ruststream::runtime::Batch<Order>, handle>>>, ())>` to implement `ruststream::runtime::ScopeCommit<MemoryBroker, Identity, (), (), PublishIdentity>`
= note: required for `ruststream::runtime::forms::Batch` to implement `ruststream::runtime::IncludeMount<'_, MemoryBroker, Identity, (), (), PublishIdentity, SubscriberBuilder<Sealed<HandleValue<ruststream::runtime::Batch<Order>, (), (), (), handle, ruststream::runtime::Probed>>, Trickle, (Open, Open, Open, Fixed)>>`