Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ trpc-selector/trpc-selector-open-polaris/polaris
trpc-registry/trpc-registry-open-polaris/polaris
**/target
deploy.sh
**/jacoco.exec

# Codecc
.codecc
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,11 @@ public class BaseProtocolConfig implements Serializable, Cloneable {
*/
@ConfigProperty(value = Constants.DEFAULT_REUSE_PORT, type = Boolean.class, override = true)
protected Boolean reusePort;
/**
* Service address.
*/
@ConfigProperty
protected String address;
/**
* Extension configuration.
*/
Expand Down Expand Up @@ -389,6 +394,15 @@ public void setReusePort(Boolean reusePort) {
this.reusePort = reusePort;
}

public String getAddress() {
return address;
}

public void setAddress(String address) {
checkFiledModifyPrivilege();
this.address = address;
}

public int getBossThreads() {
return bossThreads;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ public class ProtocolConfig extends BaseProtocolConfig implements Cloneable {
protected String ip;
protected int port;
protected String nic;
protected InetSocketAddress address;
protected InetSocketAddress socketAddress;
/**
* Protocol type [stream, standard].
*/
Expand Down Expand Up @@ -90,7 +90,7 @@ protected void setFieldDefault() {
BinderUtils.lazyBind(this, ConfigConstants.IP, nic, obj -> NetUtils.resolveMultiNicAddr((String) obj));
BinderUtils.bind(this, ConfigConstants.IO_THREADS, Constants.DEFAULT_IO_THREADS);
PreconditionUtils.checkArgument(StringUtils.isNotBlank(ip), "Protocol(%s), ip is null", toSimpleString());
BinderUtils.bind(this, "address", new InetSocketAddress(this.getIp(), this.getPort()));
BinderUtils.bind(this, "socketAddress", new InetSocketAddress(this.getIp(), this.getPort()));
}

public RpcClient createClient() {
Expand All @@ -110,7 +110,7 @@ public RpcServer createServer() {
@Override
public String toString() {
return "ProtocolConfig [name=" + name + ", ip=" + ip + ", port=" + port + ", nic=" + nic
+ ", address=" + address + ", protocol=" + protocol + ", serializationType="
+ ", socketAddress=" + socketAddress + ", protocol=" + protocol + ", serializationType="
+ serialization
+ ", compressorType=" + compressor + ", keepAlive=" + keepAlive + ", charset="
+ charset
Expand Down Expand Up @@ -144,12 +144,12 @@ public ProtocolConfig clone() {
* @return InetSocketAddress
*/
public InetSocketAddress toInetSocketAddress() {
if (address == null) {
if (socketAddress == null) {
if (StringUtils.isNotBlank(ip)) {
return new InetSocketAddress(ip, port);
}
}
return address;
return socketAddress;
}

/**
Expand Down Expand Up @@ -250,7 +250,7 @@ public ServiceConfig getServiceConfig() {
return serviceConfig;
}

public void setServiceConfig(ServiceConfig serviceConfig) {
public void setServiceConfig(ServiceConfig serviceConfig) {
checkFiledModifyPrivilege();
this.serviceConfig = serviceConfig;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -421,7 +421,8 @@ public String toString() {
+ ", lazyinit="
+ lazyinit + ", ioMode=" + ioMode + ", ioThreadGroupShare=" + ioThreadGroupShare
+ ", ioThreads=" + ioThreads + ", workerPool=" + workerPool + ", requestTimeout="
+ requestTimeout + ", filters=" + filters + ", extMap=" + extMap + ", setDefault="
+ requestTimeout + ", filters=" + filters + ", extMap=" + extMap + ", address=" + address
+ ", setDefault="
+ setDefault + ", inited=" + initialized + ", exported=" + exported + ", registed="
+ registered
+ "]";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,11 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;

import java.net.InetSocketAddress;
import com.google.common.collect.ImmutableMap;
import com.tencent.trpc.core.common.Constants;
import org.junit.Test;
Expand Down Expand Up @@ -129,4 +131,43 @@ public void testConfig() {
assertTrue(config.isSetDefault());
assertSame(serviceConfig, config.getServiceConfig());
}

@Test
public void testSocketAddress() {
ProtocolConfig config = new ProtocolConfig();
config.setIp("127.0.0.1");
config.setPort(8080);
config.setDefault();
InetSocketAddress socketAddress = config.toInetSocketAddress();
assertNotNull(socketAddress);
assertEquals("127.0.0.1", socketAddress.getHostString());
assertEquals(8080, socketAddress.getPort());
}

@Test
public void testSocketAddressNull() {
ProtocolConfig config = new ProtocolConfig();
config.setIp("192.168.1.1");
config.setPort(9090);
InetSocketAddress addr = config.toInetSocketAddress();
assertNotNull(addr);
assertEquals("192.168.1.1", addr.getHostString());
assertEquals(9090, addr.getPort());
}

@Test
public void testIpBlank() {
ProtocolConfig config = new ProtocolConfig();
assertNull(config.toInetSocketAddress());
}

@Test
public void testToString() {
ProtocolConfig config = new ProtocolConfig();
config.setIp("127.0.0.1");
config.setPort(8080);
config.setDefault();
String str = config.toString();
assertTrue(str.contains("socketAddress="));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,7 @@ public void testConfig() {
config.setVersion("1");
config.setGroup("b");
config.setCompressMinBytes(10);
config.setAddress("127.0.0.1:9092?topics=quickstart-events&group=quickstart-group");
config.setRegistryConfigs(new ArrayList<>());
config.setDefault();
assertEquals("a", config.getWorkerPool());
Expand All @@ -147,6 +148,7 @@ public void testConfig() {
assertTrue(config.getEnableLinkTimeout());
assertTrue(config.getRegistryConfigs().isEmpty());
assertTrue(config.getRegistries().isEmpty());
assertEquals("127.0.0.1:9092?topics=quickstart-events&group=quickstart-group", config.getAddress());
assertEquals("name", config.getName());
assertEquals("127.1.1.1", config.getIp());
assertEquals(8080, config.getPort());
Expand Down Expand Up @@ -234,4 +236,17 @@ public byte[] invoke(RpcClientContext context, byte[] body) {
config.register();
config.unRegister();
}

@Test
public void testToStringContainsAddress() {
ServiceConfig config = new ServiceConfig();
config.setName("name");
config.setIp("127.0.0.1");
config.setPort(8080);
config.setAddress("127.0.0.1:9092?topics=quickstart-events&group=quickstart-group");
config.setDefault();
String str = config.toString();
assertTrue(str.contains("address="));
assertTrue(str.contains("127.0.0.1:9092?topics=quickstart-events&group=quickstart-group"));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,8 @@ private void assertServerService() {
Assert.assertEquals(serviceSchema.getWorkerPool(), "woker_pool_provider_test");
Assert.assertEquals(serviceSchema.getEnableLinkTimeout(), true);
Assert.assertEquals(serviceSchema.getReusePort(), true);
Assert.assertEquals(serviceSchema.getAddress(),
"127.0.0.1:9092?topics=quickstart-events&group=quickstart-group");
Assert.assertEquals(serviceSchema.getFilters(), Lists.newArrayList("additional_server_filter"));
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ trpc:
worker_pool: woker_pool_provider_test
enable_link_timeout: true
reuse_port: true
address: 127.0.0.1:9092?topics=quickstart-events&group=quickstart-group
filters:
- additional_server_filter
client:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,11 @@ public abstract class AbstractProtocolSchema {
*/
private Integer explicitFlushAfterFlushes;

/**
* Service address
*/
private String address;

/**
* Extension configs
*/
Expand Down Expand Up @@ -319,4 +324,12 @@ public Map<String, Object> getExtMap() {
public void setExtMap(Map<String, Object> extMap) {
this.extMap = extMap;
}

public String getAddress() {
return address;
}

public void setAddress(String address) {
this.address = address;
}
}
Loading
Loading