diff --git a/nexus-sdk/src/main/java/io/nexusrpc/Serializer.java b/nexus-sdk/src/main/java/io/nexusrpc/Serializer.java index 5b130f7..3ef7a49 100644 --- a/nexus-sdk/src/main/java/io/nexusrpc/Serializer.java +++ b/nexus-sdk/src/main/java/io/nexusrpc/Serializer.java @@ -6,6 +6,7 @@ import org.jspecify.annotations.Nullable; /** Serializer used to convert values to bytes and vice-versa. */ +@Experimental public interface Serializer { /** Serialize the value as content. */ Content serialize(@Nullable Object value); diff --git a/nexus-sdk/src/main/java/io/nexusrpc/handler/Handler.java b/nexus-sdk/src/main/java/io/nexusrpc/handler/Handler.java index d35dad7..bf98015 100644 --- a/nexus-sdk/src/main/java/io/nexusrpc/handler/Handler.java +++ b/nexus-sdk/src/main/java/io/nexusrpc/handler/Handler.java @@ -1,8 +1,10 @@ package io.nexusrpc.handler; +import io.nexusrpc.Experimental; import io.nexusrpc.OperationException; /** Top-level handler for service calls. */ +@Experimental public interface Handler { /** * Handle the start of an operation. See {@link OperationHandler#start} for operation details. diff --git a/nexus-sdk/src/main/java/io/nexusrpc/handler/HandlerInputContent.java b/nexus-sdk/src/main/java/io/nexusrpc/handler/HandlerInputContent.java index 2b3b4d4..aee41a9 100644 --- a/nexus-sdk/src/main/java/io/nexusrpc/handler/HandlerInputContent.java +++ b/nexus-sdk/src/main/java/io/nexusrpc/handler/HandlerInputContent.java @@ -1,5 +1,6 @@ package io.nexusrpc.handler; +import io.nexusrpc.Experimental; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; @@ -9,6 +10,7 @@ import org.jspecify.annotations.Nullable; /** Content that can be fixed or streaming for start operation input. */ +@Experimental public class HandlerInputContent { /** Create a builder for content. */ public static Builder newBuilder() { diff --git a/nexus-sdk/src/main/java/io/nexusrpc/handler/OperationHandler.java b/nexus-sdk/src/main/java/io/nexusrpc/handler/OperationHandler.java index 687ca62..aadf8f6 100644 --- a/nexus-sdk/src/main/java/io/nexusrpc/handler/OperationHandler.java +++ b/nexus-sdk/src/main/java/io/nexusrpc/handler/OperationHandler.java @@ -1,5 +1,6 @@ package io.nexusrpc.handler; +import io.nexusrpc.Experimental; import io.nexusrpc.OperationException; import org.jspecify.annotations.Nullable; @@ -13,6 +14,7 @@ * @param The parameter type of the operation. This can be {@link Void} for no parameter. * @param the return type of the operation. This can be {@link Void} for no return. */ +@Experimental public interface OperationHandler { /** * Create an operation handler for a synchronous operation backed by the given function. This diff --git a/nexus-sdk/src/main/java/io/nexusrpc/handler/OperationMiddleware.java b/nexus-sdk/src/main/java/io/nexusrpc/handler/OperationMiddleware.java index 9ec8069..3720904 100644 --- a/nexus-sdk/src/main/java/io/nexusrpc/handler/OperationMiddleware.java +++ b/nexus-sdk/src/main/java/io/nexusrpc/handler/OperationMiddleware.java @@ -1,6 +1,9 @@ package io.nexusrpc.handler; +import io.nexusrpc.Experimental; + /** Middleware for intercepting operations. */ +@Experimental public interface OperationMiddleware { /** Intercepts the given operation. Called once for each operation invocation. */ diff --git a/nexus-sdk/src/main/java/io/nexusrpc/handler/ServiceHandler.java b/nexus-sdk/src/main/java/io/nexusrpc/handler/ServiceHandler.java index e9b8b32..d5cb933 100644 --- a/nexus-sdk/src/main/java/io/nexusrpc/handler/ServiceHandler.java +++ b/nexus-sdk/src/main/java/io/nexusrpc/handler/ServiceHandler.java @@ -5,6 +5,7 @@ import org.jspecify.annotations.Nullable; /** Handler that delegates to service implementations. */ +@Experimental public class ServiceHandler implements Handler { /** Create a builder for a service handler. */ public static Builder newBuilder() {