Remove unnecessary locking in Crypters #3582
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
General items:
ant tests
passes on my machineIf your code changes how something works on the device (i.e., it affects the companion):
ucr
ucr
as the baseFurther, if you've changed the blocks language or another user-facing designer/blocks API (added a SimpleProperty, etc.):
For all other changes:
master
master
as the baseWhat does this PR accomplish?
Description
This PR removes an unnecessary
syncronized
call (effectively removing locking) from theOdeAuthFilter
andGalleryToken
classes.The interesting change is on
OdeAuthFilter
, which was being used as the authentication filter through the following stacktrace:getCrypter
<-getUserInfo
<-doFilter
. In the previous implementation, even though thecrypter
was initialized, getting a reference to it was effectively single-threaded, but it is actually just used for a singleton initialization.By instead adding the extra null check outside the
syncronized
block, we achieve yielding the initializedcrypter
without making this method single threaded when not needed.I suspect
OdeAuthFilter
is currently acting single-threaded, so this change in theory should improve performance. Not sure for how much though, as it's just the part to acquire thecrypter
, but it should improve somewhat.