Class: LS4::MembershipMemberService
- Inherits:
-
MembershipClientService
- Object
- EventBus::Singleton
- Service
- MembershipService
- MembershipClientService
- LS4::MembershipMemberService
- Defined in:
- lib/ls4/service/membership.rb
Instance Method Summary collapse
-
#initialize ⇒ MembershipMemberService
constructor
A new instance of MembershipMemberService.
- #register_self_blocking! ⇒ Object
- #try_register_node ⇒ Object
Methods inherited from MembershipClientService
Methods inherited from MembershipService
#get_active_rsids, #get_all_nodes, #get_node, #get_session_nid, #is_fault, #on_fault_list_change, #on_membership_change, #run, #shutdown, #stat_fault_info, #stat_membership_info, #stat_replset_info
Methods inherited from Service
Methods included from EventBus::SingletonMixin
#ebus_bind!, #ebus_connect, extended
Methods included from EventBus::BusMixin
#ebus_all_slots, #ebus_disconnect!
Methods included from EventBus::DeclarerBase::Methods
#connect, #ebus_all_slots, #ebus_call_log, #ebus_call_slots, #ebus_signal_error, #ebus_signal_log, #ebus_signal_slots
Methods included from EventBus::DeclarerBase
Constructor Details
#initialize ⇒ MembershipMemberService
Returns a new instance of MembershipMemberService.
255 256 257 258 259 260 261 262 |
# File 'lib/ls4/service/membership.rb', line 255 def initialize super @self_nid = ConfigBus.self_nid @self_address = ConfigBus.self_address @self_name = ConfigBus.self_name @self_rsids = ConfigBus.self_rsids @self_location = ConfigBus.self_location end |
Instance Method Details
#register_self_blocking! ⇒ Object
294 295 296 |
# File 'lib/ls4/service/membership.rb', line 294 def register_self_blocking! do_register_self.join end |
#try_register_node ⇒ Object
264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 |
# File 'lib/ls4/service/membership.rb', line 264 def try_register_node begin node = @membership.get_node(@self_nid) rescue return register_self end if node.address != @self_address return register_self end if node.name != @self_name return register_self end if node.rsids != @self_rsids return register_self end if node.location != @self_location return register_self end if @fault_list.include?(@self_nid) return register_self end nil end |