Summary:
Adds an extremely barebones in-app screen for showing sonar diagnostics.
The UI is laughable, but it's wired up. Leaving proper design to a later commit.
Like in the android case, state is currently passed as a string, but will become something much more structured after this is in place.
Reviewed By: priteshrnandgaonkar
Differential Revision: D9218766
fbshipit-source-id: 4889ed79b928056a67b1e8cb8a40a9bd52e084f1
Summary:
We currently give sonar one event base from java / obj-c code to use for scheduling tasks.
This causes a problem, because we schedule reconnect tasks on the event base, and then these tasks interact with rsocket which schedules it's own tasks.
The problem is that we're passing rsocket the same event base. So the reconnect code executes and blocks waiting for rsocket to connect.
But rsocket can never connect because it never executes because that thread is blocked, so we get deadlock.
Fixing it by giving both processes their own event base / thread.
Reviewed By: danielbuechele
Differential Revision: D8748355
fbshipit-source-id: b0ad2172087f0103180677438f427c831db7f42c
Summary:
We currently give sonar one event base from java / obj-c code to use for scheduling tasks.
This causes a problem, because we schedule reconnect tasks on the event base, and then these tasks interact with rsocket which schedules it's own tasks.
The problem is that we're passing rsocket the same event base. So the reconnect code executes and blocks waiting for rsocket to connect.
But rsocket can never connect because it never executes because that thread is blocked, so we get deadlock.
This is the first step which just changes the interface to pass two event bases.
The consumers will be changed to pass in different threads next.
Reviewed By: danielbuechele
Differential Revision: D8748350
fbshipit-source-id: 481d6f23644f28fd0f1c786252605287019c999c