This is an automated email from the ASF dual-hosted git repository.

amichai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/aries-rsa.git

commit ab88d8c9b6a694ce36f82474f74b93f865ac7c01
Author: Amichai Rothman <[email protected]>
AuthorDate: Mon May 27 17:31:44 2024 +0300

    Add class Javadocs explaining the basic TCP provider design
---
 .../apache/aries/rsa/provider/tcp/EndpointPropertiesParser.java    | 4 ++++
 .../main/java/org/apache/aries/rsa/provider/tcp/MethodInvoker.java | 4 ++++
 .../main/java/org/apache/aries/rsa/provider/tcp/TcpEndpoint.java   | 3 +++
 .../org/apache/aries/rsa/provider/tcp/TcpInvocationHandler.java    | 5 +++++
 .../main/java/org/apache/aries/rsa/provider/tcp/TcpProvider.java   | 7 +++++++
 .../src/main/java/org/apache/aries/rsa/provider/tcp/TcpServer.java | 5 +++++
 6 files changed, 28 insertions(+)

diff --git 
a/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/EndpointPropertiesParser.java
 
b/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/EndpointPropertiesParser.java
index 942ebee0..05e3f114 100644
--- 
a/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/EndpointPropertiesParser.java
+++ 
b/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/EndpointPropertiesParser.java
@@ -23,6 +23,10 @@ import java.util.UUID;
 
 import org.osgi.service.remoteserviceadmin.EndpointDescription;
 
+/**
+ * A convenience class for extracting endpoint configuration properties
+ * and defaults.
+ */
 public class EndpointPropertiesParser {
     static final String PORT_KEY = "aries.rsa.port";
     static final String HOSTNAME_KEY = "aries.rsa.hostname";
diff --git 
a/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/MethodInvoker.java
 
b/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/MethodInvoker.java
index 0dcc810c..c5395ff8 100644
--- 
a/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/MethodInvoker.java
+++ 
b/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/MethodInvoker.java
@@ -22,6 +22,10 @@ import java.lang.reflect.Method;
 import java.util.Arrays;
 import java.util.HashMap;
 
+/**
+ * Reflectively invokes the methods of a service object
+ * given the method name and parameter values.
+ */
 public class MethodInvoker {
 
     private HashMap<Object, Object> primTypes;
diff --git 
a/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/TcpEndpoint.java 
b/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/TcpEndpoint.java
index a29cdbfe..8c4d8cbb 100644
--- 
a/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/TcpEndpoint.java
+++ 
b/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/TcpEndpoint.java
@@ -28,6 +28,9 @@ import org.apache.aries.rsa.spi.Endpoint;
 import org.osgi.service.remoteserviceadmin.EndpointDescription;
 import org.osgi.service.remoteserviceadmin.RemoteConstants;
 
+/**
+ * Contains the details of a TcpProvider's Endpoint (exported service).
+ */
 public class TcpEndpoint implements Endpoint {
 
     private String hostname;
diff --git 
a/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/TcpInvocationHandler.java
 
b/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/TcpInvocationHandler.java
index 9f08fbd2..80fe6477 100644
--- 
a/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/TcpInvocationHandler.java
+++ 
b/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/TcpInvocationHandler.java
@@ -41,6 +41,11 @@ import org.osgi.framework.Version;
 import org.osgi.util.promise.Deferred;
 import org.osgi.util.promise.Promise;
 
+/**
+ * The InvocationHandler backing the client-side service proxy,
+ * which sends the details of the method invocations
+ * over a TCP connection, to be executed by the remote service.
+ */
 public class TcpInvocationHandler implements InvocationHandler {
     private String host;
     private int port;
diff --git 
a/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/TcpProvider.java 
b/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/TcpProvider.java
index 4b0ea489..348c82bc 100644
--- 
a/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/TcpProvider.java
+++ 
b/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/TcpProvider.java
@@ -41,6 +41,13 @@ import org.osgi.service.remoteserviceadmin.RemoteConstants;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+/**
+ * The main TCP distribution provider class, which can import remote endpoints
+ * (by creating a local proxy that sends method invocations to the remote
+ * services via a TcpInvocationHandler) and export local services (by adding 
the
+ * service to a TcpServer that can handle client connections and dispatch the
+ * method invocations to the service instance.)
+ */
 @SuppressWarnings("rawtypes")
 @RSADistributionProvider(configs="aries.tcp")
 @Component(property = { //
diff --git 
a/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/TcpServer.java 
b/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/TcpServer.java
index 52ea8920..abce724e 100644
--- 
a/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/TcpServer.java
+++ 
b/provider/tcp/src/main/java/org/apache/aries/rsa/provider/tcp/TcpServer.java
@@ -35,6 +35,11 @@ import org.osgi.util.promise.Promise;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+/**
+ * A server listening on a single TCP port, which accepts connections
+ * and dispatches method invocation requests to one or more MethodInovkers
+ * (according to the target endpoint ID).
+ */
 public class TcpServer implements Closeable, Runnable {
     private Logger log = LoggerFactory.getLogger(TcpServer.class);
     private ServerSocket serverSocket;

Reply via email to