this.channel = this.createChannel();
}
// Subscribe to events generated by the channel
MembershipListener meml = new MembershipListenerImpl();
MessageListener msgl = this.stateIdPrefix == null ? null : new MessageListenerImpl();
this.dispatcher = new RpcHandler(this.scopeId.shortValue(), this.channel, msgl, meml, new RequestMarshallerImpl(),
new ResponseMarshallerImpl());
if (!this.channel.isConnected()) {
this.channelSelfConnected = true;
this.channel.connect(this.getGroupName());
this.log.debug("Get current members");
this.waitForView();
} else {
meml.viewAccepted(this.channel.getView());
// Since we haven't triggered a flush, we need to manually open the gate to allow rpcs.
this.flushBlockGate.open();
}
this.directlyInvokeLocal = this.channel.getDiscardOwnMessages();