Skip to content

Commit 59cebe0

Browse files
committed
Improve error handling for message enqueue failure
- Update sendMessage method to provide more detailed error information - Remove unnecessary imports and improve code readability
1 parent 07e7b8f commit 59cebe0

File tree

1 file changed

+3
-7
lines changed

1 file changed

+3
-7
lines changed

mcp/src/main/java/io/modelcontextprotocol/server/transport/StdioServerTransportProvider.java

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,7 @@
99
import java.io.InputStream;
1010
import java.io.InputStreamReader;
1111
import java.io.OutputStream;
12-
import java.io.Reader;
1312
import java.nio.charset.StandardCharsets;
14-
import java.util.Map;
1513
import java.util.concurrent.Executors;
1614
import java.util.concurrent.atomic.AtomicBoolean;
1715
import java.util.function.Function;
@@ -148,14 +146,12 @@ public StdioMcpSessionTransport() {
148146

149147
@Override
150148
public Mono<Void> sendMessage(McpSchema.JSONRPCMessage message) {
151-
152149
return Mono.zip(inboundReady.asMono(), outboundReady.asMono()).then(Mono.defer(() -> {
153-
if (outboundSink.tryEmitNext(message).isSuccess()) {
150+
Sinks.EmitResult result = outboundSink.tryEmitNext(message);
151+
if (result.isSuccess()) {
154152
return Mono.empty();
155153
}
156-
else {
157-
return Mono.error(new RuntimeException("Failed to enqueue message"));
158-
}
154+
return Mono.error(new RuntimeException("Failed to enqueue message: " + message + ", due to " + result));
159155
}));
160156
}
161157

0 commit comments

Comments
 (0)