33import io .scalecube .cluster .fdetector .FailureDetectorConfig ;
44import io .scalecube .cluster .gossip .GossipConfig ;
55import io .scalecube .cluster .membership .MembershipConfig ;
6+ import io .scalecube .cluster .metadata .MetadataCodec ;
67import io .scalecube .cluster .metadata .MetadataDecoder ;
78import io .scalecube .cluster .metadata .MetadataEncoder ;
89import io .scalecube .cluster .transport .api .TransportConfig ;
@@ -32,12 +33,13 @@ public final class ClusterConfig implements Cloneable {
3233
3334 private Object metadata ;
3435 private int metadataTimeout = DEFAULT_METADATA_TIMEOUT ;
36+ private MetadataCodec metadataCodec = MetadataCodec .INSTANCE ;
3537 private MetadataEncoder metadataEncoder = MetadataEncoder .INSTANCE ;
3638 private MetadataDecoder metadataDecoder = MetadataDecoder .INSTANCE ;
3739
3840 private String memberAlias ;
39- private String memberHost ;
40- private Integer memberPort ;
41+ private String containerHost ;
42+ private Integer containerPort ;
4143
4244 private TransportConfig transportConfig = TransportConfig .defaultConfig ();
4345 private FailureDetectorConfig failureDetectorConfig = FailureDetectorConfig .defaultConfig ();
@@ -93,7 +95,7 @@ public <T> T metadata() {
9395 }
9496
9597 /**
96- * Sets a metadata.
98+ * Setter for metadata.
9799 *
98100 * @param metadata metadata
99101 * @return new {@code ClusterConfig} instance
@@ -109,7 +111,7 @@ public int metadataTimeout() {
109111 }
110112
111113 /**
112- * Sets a metadataTimeout.
114+ * Setter for metadataTimeout.
113115 *
114116 * @param metadataTimeout metadata timeout
115117 * @return new {@code ClusterConfig} instance
@@ -120,60 +122,129 @@ public ClusterConfig metadataTimeout(int metadataTimeout) {
120122 return c ;
121123 }
122124
125+ public MetadataCodec metadataCodec () {
126+ return metadataCodec ;
127+ }
128+
129+ /**
130+ * Setter for metadataCodec.
131+ *
132+ * @param metadataCodec metadata codec
133+ * @return new {@code ClusterConfig} instance
134+ */
135+ public ClusterConfig metadataCodec (MetadataCodec metadataCodec ) {
136+ ClusterConfig c = clone ();
137+ c .metadataCodec = metadataCodec ;
138+ return c ;
139+ }
140+
141+ /**
142+ * Deprecated since {@code 2.4.10} in favor of {@link MetadataCodec}.
143+ *
144+ * @return metadataEncoder
145+ */
146+ @ Deprecated
123147 public MetadataEncoder metadataEncoder () {
124148 return metadataEncoder ;
125149 }
126150
127151 /**
128- * Sets a metadataEncoder.
152+ * Setter for metadataEncoder. Deprecated since {@code 2.4.10} in favor of {@link MetadataCodec} .
129153 *
130154 * @param metadataEncoder metadata encoder
131155 * @return new {@code ClusterConfig} instance
132156 */
157+ @ Deprecated
133158 public ClusterConfig metadataEncoder (MetadataEncoder metadataEncoder ) {
134159 ClusterConfig c = clone ();
135160 c .metadataEncoder = metadataEncoder ;
136161 return c ;
137162 }
138163
164+ /**
165+ * Deprecated since {@code 2.4.10} in favor of {@link MetadataCodec}.
166+ *
167+ * @return metadataDecoder
168+ */
169+ @ Deprecated
139170 public MetadataDecoder metadataDecoder () {
140171 return metadataDecoder ;
141172 }
142173
143174 /**
144- * Sets a metadataDecoder.
175+ * Setter for metadataDecoder. Deprecated since {@code 2.4.10} in favor of {@link MetadataCodec} .
145176 *
146177 * @param metadataDecoder metadata decoder
147178 * @return new {@code ClusterConfig} instance
148179 */
180+ @ Deprecated
149181 public ClusterConfig metadataDecoder (MetadataDecoder metadataDecoder ) {
150182 ClusterConfig c = clone ();
151183 c .metadataDecoder = metadataDecoder ;
152184 return c ;
153185 }
154186
187+ /**
188+ * Deprecated since {@code 2.4.10} in favor of {@link #containerHost()}.
189+ *
190+ * @return member host
191+ */
192+ @ Deprecated
155193 public String memberHost () {
156- return memberHost ;
194+ return containerHost ;
157195 }
158196
159197 /**
160- * Sets a memberHost .
198+ * Deprecated since {@code 2.4.10} in favor of {@link #containerHost(String)} .
161199 *
162200 * @param memberHost member host
163201 * @return new {@code ClusterConfig} instance
164202 */
203+ @ Deprecated
165204 public ClusterConfig memberHost (String memberHost ) {
166205 ClusterConfig c = clone ();
167- c .memberHost = memberHost ;
206+ c .containerHost = memberHost ;
168207 return c ;
169208 }
170209
210+ /**
211+ * Returns mappedHost. {@code mappedHost} is a config property for container environments, it's
212+ * being set for advertising to scalecube cluster some connectable hostname which maps to
213+ * scalecube transport's hostname on which scalecube transport is listening.
214+ *
215+ * @return mapped host
216+ */
217+ public String containerHost () {
218+ return containerHost ;
219+ }
220+
221+ /**
222+ * Setter for mappedHost. {@code mappedHost} is a config property for container environments, it's
223+ * being set for advertising to scalecube cluster some connectable hostname which maps to
224+ * scalecube transport's hostname on which scalecube transport is listening.
225+ *
226+ * @param mappedHost mapped host
227+ * @return new {@code ClusterConfig} instance
228+ */
229+ public ClusterConfig containerHost (String mappedHost ) {
230+ ClusterConfig c = clone ();
231+ c .containerHost = mappedHost ;
232+ return c ;
233+ }
234+
235+ /**
236+ * Returns memberAlias. {@code memberAlias} is a config property which facilitates {@link
237+ * io.scalecube.cluster.Member#toString()}.
238+ *
239+ * @return member alias.
240+ */
171241 public String memberAlias () {
172242 return memberAlias ;
173243 }
174244
175245 /**
176- * Sets a memberAlias.
246+ * Setter for memberAlias. {@code memberAlias} is a config property which facilitates {@link
247+ * io.scalecube.cluster.Member#toString()}.
177248 *
178249 * @param memberAlias member alias
179250 * @return new {@code ClusterConfig} instance
@@ -184,19 +255,51 @@ public ClusterConfig memberAlias(String memberAlias) {
184255 return c ;
185256 }
186257
258+ /**
259+ * Returns mappedPort. {@code mappedPort} is a config property for container environments, it's
260+ * being set for advertising to scalecube cluster a port which mapped to scalecube transport's
261+ * listening port.
262+ *
263+ * @return mapped port
264+ */
265+ public Integer containerPort () {
266+ return containerPort ;
267+ }
268+
269+ /**
270+ * Setter for mappedPort. {@code mappedPort} is a config property for container environments, it's
271+ * being set for advertising to scalecube cluster a port which mapped to scalecube transport's
272+ * listening port.
273+ *
274+ * @param mappedPort mapped port
275+ * @return new {@code ClusterConfig} instance
276+ */
277+ public ClusterConfig containerPort (Integer mappedPort ) {
278+ ClusterConfig c = clone ();
279+ c .containerPort = mappedPort ;
280+ return c ;
281+ }
282+
283+ /**
284+ * Deprecated since {@code 2.4.10} in favor of {@link #containerPort()}.
285+ *
286+ * @return member port
287+ */
288+ @ Deprecated
187289 public Integer memberPort () {
188- return memberPort ;
290+ return containerPort ;
189291 }
190292
191293 /**
192- * Sets a memberPort .
294+ * Deprecated since {@code 2.4.10} in favor of {@link #containerPort(Integer)} .
193295 *
194296 * @param memberPort member port
195297 * @return new {@code ClusterConfig} instance
196298 */
299+ @ Deprecated
197300 public ClusterConfig memberPort (Integer memberPort ) {
198301 ClusterConfig c = clone ();
199- c .memberPort = memberPort ;
302+ c .containerPort = memberPort ;
200303 return c ;
201304 }
202305
@@ -283,11 +386,12 @@ public String toString() {
283386 return new StringJoiner (", " , ClusterConfig .class .getSimpleName () + "[" , "]" )
284387 .add ("metadata=" + metadataAsString ())
285388 .add ("metadataTimeout=" + metadataTimeout )
389+ .add ("metadataCodec=" + metadataCodec )
286390 .add ("metadataEncoder=" + metadataEncoder )
287391 .add ("metadataDecoder=" + metadataDecoder )
288392 .add ("memberAlias='" + memberAlias + "'" )
289- .add ("memberHost ='" + memberHost + "'" )
290- .add ("memberPort =" + memberPort )
393+ .add ("containerHost ='" + containerHost + "'" )
394+ .add ("containerPort =" + containerPort )
291395 .add ("transportConfig=" + transportConfig )
292396 .add ("failureDetectorConfig=" + failureDetectorConfig )
293397 .add ("gossipConfig=" + gossipConfig )
0 commit comments