• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2018 The gRPC Authors
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package io.grpc.util;
18 
19 import com.google.common.base.MoreObjects;
20 import io.grpc.ChannelCredentials;
21 import io.grpc.ChannelLogger;
22 import io.grpc.ConnectivityState;
23 import io.grpc.EquivalentAddressGroup;
24 import io.grpc.ExperimentalApi;
25 import io.grpc.LoadBalancer;
26 import io.grpc.LoadBalancer.CreateSubchannelArgs;
27 import io.grpc.LoadBalancer.Subchannel;
28 import io.grpc.LoadBalancer.SubchannelPicker;
29 import io.grpc.ManagedChannel;
30 import io.grpc.ManagedChannelBuilder;
31 import io.grpc.NameResolver;
32 import io.grpc.NameResolverRegistry;
33 import io.grpc.SynchronizationContext;
34 import java.util.List;
35 import java.util.concurrent.ScheduledExecutorService;
36 
37 @ExperimentalApi("https://github.com/grpc/grpc-java/issues/1771")
38 public abstract class ForwardingLoadBalancerHelper extends LoadBalancer.Helper {
39   /**
40    * Returns the underlying helper.
41    */
delegate()42   protected abstract LoadBalancer.Helper delegate();
43 
44   @Override
createSubchannel(CreateSubchannelArgs args)45   public Subchannel createSubchannel(CreateSubchannelArgs args) {
46     return delegate().createSubchannel(args);
47   }
48 
49   @Override
createOobChannel(EquivalentAddressGroup eag, String authority)50   public  ManagedChannel createOobChannel(EquivalentAddressGroup eag, String authority) {
51     return delegate().createOobChannel(eag, authority);
52   }
53 
54   @Override
createOobChannel(List<EquivalentAddressGroup> eag, String authority)55   public  ManagedChannel createOobChannel(List<EquivalentAddressGroup> eag, String authority) {
56     return delegate().createOobChannel(eag, authority);
57   }
58 
59   @Override
updateOobChannelAddresses(ManagedChannel channel, EquivalentAddressGroup eag)60   public void updateOobChannelAddresses(ManagedChannel channel, EquivalentAddressGroup eag) {
61     delegate().updateOobChannelAddresses(channel, eag);
62   }
63 
64   @Override
updateOobChannelAddresses(ManagedChannel channel, List<EquivalentAddressGroup> eag)65   public void updateOobChannelAddresses(ManagedChannel channel, List<EquivalentAddressGroup> eag) {
66     delegate().updateOobChannelAddresses(channel, eag);
67   }
68 
69   @Deprecated
70   @Override
createResolvingOobChannelBuilder(String target)71   public ManagedChannelBuilder<?> createResolvingOobChannelBuilder(String target) {
72     return delegate().createResolvingOobChannelBuilder(target);
73   }
74 
75   @Override
createResolvingOobChannelBuilder( String target, ChannelCredentials creds)76   public ManagedChannelBuilder<?> createResolvingOobChannelBuilder(
77       String target, ChannelCredentials creds) {
78     return delegate().createResolvingOobChannelBuilder(target, creds);
79   }
80 
81   @Override
createResolvingOobChannel(String target)82   public ManagedChannel createResolvingOobChannel(String target) {
83     return delegate().createResolvingOobChannel(target);
84   }
85 
86   @Override
updateBalancingState( ConnectivityState newState, SubchannelPicker newPicker)87   public void updateBalancingState(
88       ConnectivityState newState, SubchannelPicker newPicker) {
89     delegate().updateBalancingState(newState, newPicker);
90   }
91 
92   @Override
refreshNameResolution()93   public void refreshNameResolution() {
94     delegate().refreshNameResolution();
95   }
96 
97   @Override
98   @Deprecated
ignoreRefreshNameResolutionCheck()99   public void ignoreRefreshNameResolutionCheck() {
100     delegate().ignoreRefreshNameResolutionCheck();
101   }
102 
103   @Override
getAuthority()104   public String getAuthority() {
105     return delegate().getAuthority();
106   }
107 
108   @Override
getChannelCredentials()109   public ChannelCredentials getChannelCredentials() {
110     return delegate().getChannelCredentials();
111   }
112 
113   @Override
getUnsafeChannelCredentials()114   public ChannelCredentials getUnsafeChannelCredentials() {
115     return delegate().getUnsafeChannelCredentials();
116   }
117 
118   @Override
getSynchronizationContext()119   public SynchronizationContext getSynchronizationContext() {
120     return delegate().getSynchronizationContext();
121   }
122 
123   @Override
getScheduledExecutorService()124   public ScheduledExecutorService getScheduledExecutorService() {
125     return delegate().getScheduledExecutorService();
126   }
127 
128   @Override
getChannelLogger()129   public ChannelLogger getChannelLogger() {
130     return delegate().getChannelLogger();
131   }
132 
133   @Override
getNameResolverArgs()134   public NameResolver.Args getNameResolverArgs() {
135     return delegate().getNameResolverArgs();
136   }
137 
138   @Override
getNameResolverRegistry()139   public NameResolverRegistry getNameResolverRegistry() {
140     return delegate().getNameResolverRegistry();
141   }
142 
143   @Override
toString()144   public String toString() {
145     return MoreObjects.toStringHelper(this).add("delegate", delegate()).toString();
146   }
147 }
148