blob: 74038e4839e2021c0dd31b9f41dfb4e1dc3cccdc (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
package xyz.driver.core.messaging
import xyz.driver.core.reporting.{Reporter, SpanContext}
import scala.concurrent.Future
import scala.language.higherKinds
trait ReportingBus extends Bus {
def reporter: Reporter
trait TracedMessage[A] extends BasicMessage[A] { self: Message[A] =>
def spanContext: SpanContext
}
type Message[A] <: TracedMessage[A]
abstract override def publishMessages[A](topic: Topic[A], messages: Seq[A]): Future[Unit] = {
super.publishMessages(topic, messages)
}
abstract override def fetchMessages[A](
topic: Topic[A],
config: SubscriptionConfig,
maxMessages: Int): Future[Seq[Message[A]]] = {
super.fetchMessages(topic, config, maxMessages)
}
}
trait Topic2
trait Bus2 {
def publishMessage[A](topic: Topic2, message: A)
}
|