-
Notifications
You must be signed in to change notification settings - Fork 900
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Response channel - issues #1724
Comments
The two listening ports are expected. The reason that it works this way is that channels in Aeron are uni-directional, so to have bi-directional communication we need to have two channels. The way that this differs from a normal two channel setup is that the listening ports are both defined on the "server" side. The two ports are request subscription's With regards to the subscription closing, I'll have to look into that in more detail. Would you be able to do a run with debug logging enabled on the driver and post the log here? |
let me collect some logs and report back. Btw, are response channels also supported with IPC? As in, can I just switch the channel from udp to ipc without having to change any code? |
@matteo-gsr The answer depends on the side you are looking at. The client code won't change when switching to IPC. But the server side will need to handle response streams separately from normal streams since it needs to establish correlations between incoming images and outgoing publications. |
I am testing the new response channel feature to build a duplex channel between a client and a server, very handy.
I have the following configuration:
so far so good, all working, I can send messages back and forth.
Now, if I shut down the client, I get an unavailable image callback on the server and drop the publication. However, if I look at netstat, I still see something listening on udp 127.0.0.1:10001. That's odd as that was really the client's subscription socket, which should go away after I shut down the client.
If I lsof the server process, I see:
that's odd - why would it listen on the response channel? It should only listen on the request channel.
I am also then observing something weirder. If I leave the app running for a while, at some point the server (request) subscription silently closes and even though I keep polling the subscription, I don't see any error.
Note:
The text was updated successfully, but these errors were encountered: