* <code>Channel -> A -> C -> B -> ChannelCoordinator</code><br>
* @param interceptor ChannelInterceptorBase
*/
+ @Override
public void addInterceptor(ChannelInterceptor interceptor) {
if ( interceptors == null ) {
interceptors = interceptor;
* @throws ChannelException - if an error occurs processing the message
* @see org.apache.catalina.tribes.Channel
*/
+ @Override
public UniqueId send(Member[] destination, Serializable msg, int options) throws ChannelException {
return send(destination,msg,options,null);
}
* @throws ChannelException - if an error occurs processing the message
* @see org.apache.catalina.tribes.Channel
*/
+ @Override
public UniqueId send(Member[] destination, Serializable msg, int options, ErrorHandler handler) throws ChannelException {
if ( msg == null ) throw new ChannelException("Cant send a NULL message");
XByteBuffer buffer = null;
* Returns the channel receiver component
* @return ChannelReceiver
*/
+ @Override
public ChannelReceiver getChannelReceiver() {
return coordinator.getClusterReceiver();
}
* Returns the channel sender component
* @return ChannelSender
*/
+ @Override
public ChannelSender getChannelSender() {
return coordinator.getClusterSender();
}
* Returns the membership service component
* @return MembershipService
*/
+ @Override
public MembershipService getMembershipService() {
return coordinator.getMembershipService();
}
* Sets the channel receiver component
* @param clusterReceiver ChannelReceiver
*/
+ @Override
public void setChannelReceiver(ChannelReceiver clusterReceiver) {
coordinator.setClusterReceiver(clusterReceiver);
}
* Sets the channel sender component
* @param clusterSender ChannelSender
*/
+ @Override
public void setChannelSender(ChannelSender clusterSender) {
coordinator.setClusterSender(clusterSender);
}
* Sets the membership component
* @param membershipService MembershipService
*/
+ @Override
public void setMembershipService(MembershipService membershipService) {
coordinator.setMembershipService(membershipService);
}
* Membership listeners are uniquely identified using the equals(Object) method
* @param membershipListener MembershipListener
*/
+ @Override
public void addMembershipListener(MembershipListener membershipListener) {
if (!this.membershipListeners.contains(membershipListener) )
this.membershipListeners.add(membershipListener);
* @param membershipListener MembershipListener
*/
+ @Override
public void removeMembershipListener(MembershipListener membershipListener) {
membershipListeners.remove(membershipListener);
}
* Channel listeners are uniquely identified using the equals(Object) method
* @param channelListener ChannelListener
*/
+ @Override
public void addChannelListener(ChannelListener channelListener) {
if (!this.channelListeners.contains(channelListener) ) {
this.channelListeners.add(channelListener);
* Channel listeners are uniquely identified using the equals(Object) method
* @param channelListener ChannelListener
*/
+ @Override
public void removeChannelListener(ChannelListener channelListener) {
channelListeners.remove(channelListener);
}
* Returns an iterator of all the interceptors in this stack
* @return Iterator
*/
+ @Override
public Iterator<ChannelInterceptor> getInterceptors() {
return new InterceptorIterator(this.getNext(),this.coordinator);
}
* thread to invoke <code>Channel.heartbeat()</code> every <code>getHeartbeatSleeptime</code> milliseconds
* @param heartbeat boolean
*/
+ @Override
public void setHeartbeat(boolean heartbeat) {
this.heartbeat = heartbeat;
}
this.start = start;
}
+ @Override
public boolean hasNext() {
return start!=null && start != end;
}
+ @Override
public ChannelInterceptor next() {
ChannelInterceptor result = null;
if ( hasNext() ) {
return result;
}
+ @Override
public void remove() {
//empty operation
}