Summary:
This diff only moves the core of sonarkit to the xplat.
- This diff uses `fb_xplat_cxx_library` as a buck rule in xplat as it is the recommended way
- Updated few imports in the files which were not compiling with new buck function
- Due to the new way of import the OSS would break, so fixed it by changing the `podspec` file
Reviewed By: passy
Differential Revision: D8937414
fbshipit-source-id: 6e12cd049bedb496e7a6820be85b2535e70ba09b
Summary:
Fixing T31692652.
I couldn't reproduce this on my local tests - (tried non-utf chars, deleted memory, onverted vectors that are erased).
My guess - an illegal string cannot be converted to NSSString and thus we return nil when the folly::dynamic type is STRING.
See task for additional details.
Reviewed By: nubbel
Differential Revision: D8952714
fbshipit-source-id: c87af523efca1b96a4cf3d5d26fa5c16ed5cd773
Summary: The receiving callbacks are executed from a thread that doesn't have an autorelease pool. That results in autoreleased objects leaking
Reviewed By: schaitoff
Differential Revision: D8889915
fbshipit-source-id: 07e9129954e6f9afea56473b590125c63ecd7092
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
Summary:
There was an issue with syncing our internal files to github. A change was made in the utils that wasn't synced out, despite the sonar code using the new API.
This brings the util update to github, while I fix the syncing issue. After that there will be a single source of truth so no more sync issues like this can occur.
Reviewed By: priteshrnandgaonkar
Differential Revision: D8541128
fbshipit-source-id: d8509b65035569c4ee9707e5d7eab99fa325da88