Class: Bitcoin::Grpc::EventsReceiver
- Inherits:
-
Concurrent::Actor::Context
- Object
- Concurrent::Actor::Context
- Bitcoin::Grpc::EventsReceiver
- Defined in:
- lib/bitcoin/grpc/server.rb
Instance Attribute Summary collapse
-
#events ⇒ Object
readonly
Returns the value of attribute events.
-
#logger ⇒ Object
readonly
Returns the value of attribute logger.
-
#publisher ⇒ Object
readonly
Returns the value of attribute publisher.
Instance Method Summary collapse
-
#initialize(events, publisher) ⇒ EventsReceiver
constructor
A new instance of EventsReceiver.
- #on_message(message) ⇒ Object
Constructor Details
#initialize(events, publisher) ⇒ EventsReceiver
Returns a new instance of EventsReceiver.
104 105 106 107 108 |
# File 'lib/bitcoin/grpc/server.rb', line 104 def initialize(events, publisher) @events = events @publisher = publisher @logger = Bitcoin::Logger.create(:debug) end |
Instance Attribute Details
#events ⇒ Object (readonly)
Returns the value of attribute events.
102 103 104 |
# File 'lib/bitcoin/grpc/server.rb', line 102 def events @events end |
#logger ⇒ Object (readonly)
Returns the value of attribute logger.
102 103 104 |
# File 'lib/bitcoin/grpc/server.rb', line 102 def logger @logger end |
#publisher ⇒ Object (readonly)
Returns the value of attribute publisher.
102 103 104 |
# File 'lib/bitcoin/grpc/server.rb', line 102 def publisher @publisher end |
Instance Method Details
#on_message(message) ⇒ Object
110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 |
# File 'lib/bitcoin/grpc/server.rb', line 110 def () case when Bitcoin::Grpc::EventsRequest clazz = Object.const_get("Bitcoin").const_get("Grpc").const_get(.event_type) case .operation when :SUBSCRIBE publisher << [:subscribe, clazz] when :UNSUBSCRIBE publisher << [:unsubscribe, clazz] else logger.error("unsupported operation") end else events << end end |