Comments (6)
@minwoox , can i work on it?
from armeria.
Hi, @pushrsp! Yeah, you can have this. Thanks!
from armeria.
Hi, @pushrsp! Yeah, you can have this. Thanks!
@minwoox, I'm gonna try to fix it like this below:
Does it look good to you?
from armeria.
We also have to cancel the publisher that emits the data.
I highly recommend you read some articles about Reactive Streams. e.g. https://engineering.linecorp.com/en/blog/reactive-streams-armeria-1
from armeria.
As far as I know, If tryWrite
is failed, it means that WebSocketWriter
is already closed.
So, What kind of exception should be thrown?
Or just use write
instead of tryWrite
because in try
, it throws ClosedStreamException
if WebSocketWriter
is closed, so let exception handler in ExecutionResultSubscriber.onNext()
pick ClosedStreamException
up and cleanup the resource.
from armeria.
If tryWrite is failed, it means that WebSocketWriter is already closed.
That is correct. 👍
Even though the writer is closed, the publisher still might be emitting the data.
So if tryWrite
returns false
, we should cancel the publisher not to emit the data anymore.
from armeria.
Related Issues (20)
- Provide a way to load a value periodically or when it expires HOT 1
- Derive a new `XdsBootstrap` with `StaticResources`
- who use armeria ? HOT 1
- Support for `@Attribute` in annotated services HOT 4
- Handle an empty query parameters with `@Default` HOT 6
- `RetryingClient` propagates the exception (and whether it is unprocessed) HOT 2
- Make DocService looking up several virtual hosts to represent services in other ports
- Replace `Optional<List<T>>` parameter to `ObjectProvider<T>` HOT 3
- Leak in `ArmeriaHttpPutTest`
- Client-side load balancing for same Endpoint HOT 1
- Add ServerExtension.webSocketClient() for testing
- Test failure: `com.linecorp.armeria.server.ServerRequestPathEncodingTest` HOT 2
- Make annotated services reject the multipart requests that contain an uninjectable file upload HOT 2
- Make `GrpcStatus` implement `GrpcExceptionHandlerFunction` HOT 2
- Preemptively close the channel when receiving SslCloseCompletionEvent HOT 1
- Make `ClientRequestContext.authority()` and `host()` return non-null HOT 2
- Is it possible to send a ping frame over HTTP/2 using Armeria? HOT 5
- Consider closing a request when the response is exceptionally completed
- Enhance DefaultUnhandledExceptionsReporter for Better Exception Reporting HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from armeria.