class GrpcBftOrderingService extends BftOrderingService with NamedLogging
- Alphabetic
- By Inheritance
- GrpcBftOrderingService
- NamedLogging
- BftOrderingService
- AbstractService
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new GrpcBftOrderingService(tryCreateServerEndpoint: (StreamObserver[BftOrderingServiceReceiveResponse]) => StreamObserver[BftOrderingServiceReceiveRequest], loggerFactory: NamedLoggerFactory)
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- implicit def errorLoggingContext(implicit traceContext: TraceContext): ErrorLoggingContext
- Attributes
- protected
- Definition Classes
- NamedLogging
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def logger: TracedLogger
- Attributes
- protected
- Definition Classes
- NamedLogging
- val loggerFactory: NamedLoggerFactory
- Definition Classes
- GrpcBftOrderingService → NamedLogging
- implicit def namedLoggingContext(implicit traceContext: TraceContext): NamedLoggingContext
- Attributes
- protected
- Definition Classes
- NamedLogging
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def noTracingLogger: Logger
- Attributes
- protected
- Definition Classes
- NamedLogging
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- def ping(request: PingRequest): Future[PingResponse]
- Definition Classes
- GrpcBftOrderingService → BftOrderingService
- def receive(clientEndpoint: StreamObserver[BftOrderingServiceReceiveResponse]): StreamObserver[BftOrderingServiceReceiveRequest]
For simplicity and to avoid the usage of mTLS, which is not well supported by all network infrastructure, each BFT ordering node (client endpoint) opens its own P2P connection to every other server endpoint, performs server authentication and then pushes messages to it.
For simplicity and to avoid the usage of mTLS, which is not well supported by all network infrastructure, each BFT ordering node (client endpoint) opens its own P2P connection to every other server endpoint, performs server authentication and then pushes messages to it.
Note that the Java gRPC implementation seems to implement unidirectional streams as bidirectional ones, which seems to require anyway at least one server-sent message before completion (according to https://github.com/grpc/grpc-java/issues/6568). Using a unidirectional stream and sending an empty response from the server results in Netty reference-counted buffer leaks.
- Definition Classes
- GrpcBftOrderingService → BftOrderingService
- def serviceCompanion: ServiceCompanion[BftOrderingService]
- Definition Classes
- BftOrderingService → AbstractService
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])