[{"title":"( 62 个子文件 16KB ) 手写RPC服务案例.7z","children":[{"title":"tony-rpc-all","children":[{"title":"pom.xml <span style='color:#111;'> 2.18KB </span>","children":null,"spread":false},{"title":"src","children":[{"title":"test","children":[{"title":"java","children":[{"title":"com","children":[{"title":"tony","children":[{"title":"rpc","children":[{"title":"remoting","children":[{"title":"Netty4TransporterTest.java <span style='color:#111;'> 1.81KB </span>","children":null,"spread":false}],"spread":true},{"title":"TestClass.java <span style='color:#111;'> 551B </span>","children":null,"spread":false},{"title":"TestService.java <span style='color:#111;'> 97B </span>","children":null,"spread":false},{"title":"serialize","children":[{"title":"JsonSerializationTest.java <span style='color:#111;'> 838B </span>","children":null,"spread":false}],"spread":true},{"title":"protocol","children":[{"title":"TrpcProtocolTransporterTest.java <span style='color:#111;'> 905B </span>","children":null,"spread":false},{"title":"ClientMock.java <span style='color:#111;'> 2.01KB </span>","children":null,"spread":false}],"spread":true},{"title":"tools","children":[{"title":"SpiTest.java <span style='color:#111;'> 516B </span>","children":null,"spread":false}],"spread":true},{"title":"proxy","children":[{"title":"ProxyTest.java <span style='color:#111;'> 1.11KB </span>","children":null,"spread":false}],"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"main","children":[{"title":"resources","children":[{"title":"log4j.properties <span style='color:#111;'> 470B </span>","children":null,"spread":false},{"title":"META-INF","children":[{"title":"services","children":[{"title":"com.tony.rpc.registry.RegistryService <span style='color:#111;'> 41B </span>","children":null,"spread":false},{"title":"com.tony.rpc.remoting.Transporter <span style='color:#111;'> 45B </span>","children":null,"spread":false},{"title":"com.tony.rpc.rpc.protocol.Protocol <span style='color:#111;'> 43B </span>","children":null,"spread":false},{"title":"com.tony.rpc.common.serialize.Serialization <span style='color:#111;'> 52B </span>","children":null,"spread":false},{"title":"com.tony.rpc.rpc.cluster.LoadBalance <span style='color:#111;'> 54B </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true},{"title":"java","children":[{"title":"com","children":[{"title":"tony","children":[{"title":"rpc","children":[{"title":"remoting","children":[{"title":"Server.java <span style='color:#111;'> 168B </span>","children":null,"spread":false},{"title":"Transporter.java <span style='color:#111;'> 409B </span>","children":null,"spread":false},{"title":"netty","children":[{"title":"NettyClient.java <span style='color:#111;'> 2.47KB </span>","children":null,"spread":false},{"title":"NettyCodec.java <span style='color:#111;'> 1.64KB </span>","children":null,"spread":false},{"title":"NettyHandler.java <span style='color:#111;'> 611B </span>","children":null,"spread":false},{"title":"NettyChannel.java <span style='color:#111;'> 389B </span>","children":null,"spread":false},{"title":"NettyServer.java <span style='color:#111;'> 2.00KB </span>","children":null,"spread":false},{"title":"Netty4Transporter.java <span style='color:#111;'> 605B </span>","children":null,"spread":false}],"spread":true},{"title":"Handler.java <span style='color:#111;'> 325B </span>","children":null,"spread":false},{"title":"package-info.java <span style='color:#111;'> 30B </span>","children":null,"spread":false},{"title":"TrpcChannel.java <span style='color:#111;'> 380B </span>","children":null,"spread":false},{"title":"Codec.java <span style='color:#111;'> 368B </span>","children":null,"spread":false},{"title":"Client.java <span style='color:#111;'> 179B </span>","children":null,"spread":false}],"spread":true},{"title":"rpc","children":[{"title":"RpcInvocation.java <span style='color:#111;'> 2.89KB </span>","children":null,"spread":false},{"title":"Invoker.java <span style='color:#111;'> 535B </span>","children":null,"spread":false},{"title":"cluster","children":[{"title":"ClusterInvoker.java <span style='color:#111;'> 3.46KB </span>","children":null,"spread":false},{"title":"loadbalance","children":[{"title":"RandomLoadBalance.java <span style='color:#111;'> 485B </span>","children":null,"spread":false}],"spread":false},{"title":"LoadBalance.java <span style='color:#111;'> 279B </span>","children":null,"spread":false}],"spread":false},{"title":"protocol","children":[{"title":"trpc","children":[{"title":"codec","children":[{"title":"TrpcCodec.java <span style='color:#111;'> 4.69KB </span>","children":null,"spread":false}],"spread":false},{"title":"TrpcClientInvoker.java <span style='color:#111;'> 1.69KB </span>","children":null,"spread":false},{"title":"TrpcProtocol.java <span style='color:#111;'> 2.88KB </span>","children":null,"spread":false},{"title":"handler","children":[{"title":"TrpcClientHandler.java <span style='color:#111;'> 1.37KB </span>","children":null,"spread":false},{"title":"TrpcServerHandler.java <span style='color:#111;'> 1.92KB </span>","children":null,"spread":false}],"spread":false}],"spread":false},{"title":"Protocol.java <span style='color:#111;'> 584B </span>","children":null,"spread":false}],"spread":false},{"title":"Response.java <span style='color:#111;'> 952B </span>","children":null,"spread":false},{"title":"proxy","children":[{"title":"InvokerInvocationHandler.java <span style='color:#111;'> 2.41KB </span>","children":null,"spread":false},{"title":"ProxyFactory.java <span style='color:#111;'> 1.01KB </span>","children":null,"spread":false}],"spread":false}],"spread":true},{"title":"registry","children":[{"title":"RedisRegistryTest.java <span style='color:#111;'> 658B </span>","children":null,"spread":false},{"title":"RegistryService.java <span style='color:#111;'> 429B </span>","children":null,"spread":false},{"title":"redis","children":[{"title":"RedisRegistry.java <span style='color:#111;'> 5.72KB </span>","children":null,"spread":false}],"spread":false},{"title":"NotifyListener.java <span style='color:#111;'> 150B </span>","children":null,"spread":false}],"spread":true},{"title":"common","children":[{"title":"serialize","children":[{"title":"Serialization.java <span style='color:#111;'> 216B </span>","children":null,"spread":false},{"title":"json","children":[{"title":"JsonSerialization.java <span style='color:#111;'> 1.53KB </span>","children":null,"spread":false}],"spread":false}],"spread":false},{"title":"package-info.java <span style='color:#111;'> 60B </span>","children":null,"spread":false},{"title":"tools","children":[{"title":"ByteUtil.java <span style='color:#111;'> 2.00KB </span>","children":null,"spread":false},{"title":"SpiUtils.java <span style='color:#111;'> 580B </span>","children":null,"spread":false},{"title":"URIUtils.java <span style='color:#111;'> 486B </span>","children":null,"spread":false}],"spread":false}],"spread":true},{"title":"config","children":[{"title":"ReferenceConfig.java <span style='color:#111;'> 1.75KB </span>","children":null,"spread":false},{"title":"annotation","children":[{"title":"TRpcService.java <span style='color:#111;'> 587B </span>","children":null,"spread":false},{"title":"TRpcReference.java <span style='color:#111;'> 431B </span>","children":null,"spread":false}],"spread":false},{"title":"RegistryConfig.java <span style='color:#111;'> 639B </span>","children":null,"spread":false},{"title":"ProtocolConfig.java <span style='color:#111;'> 1.02KB </span>","children":null,"spread":false},{"title":"ServiceConfig.java <span style='color:#111;'> 1.75KB </span>","children":null,"spread":false},{"title":"spring","children":[{"title":"annotation","children":[{"title":"EnableTRPC.java <span style='color:#111;'> 576B </span>","children":null,"spread":false}],"spread":false},{"title":"TRPCPostProcessor.java <span style='color:#111;'> 3.45KB </span>","children":null,"spread":false},{"title":"TRPCConfiguration.java <span style='color:#111;'> 2.53KB </span>","children":null,"spread":false}],"spread":false},{"title":"util","children":[{"title":"TrpcBootstrap.java <span style='color:#111;'> 3.90KB </span>","children":null,"spread":false}],"spread":false}],"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}]