{"action":"created","issue":{"url":"https://api.github.com/repos/ReactiveX/RxJava/issues/4585","repository_url":"https://api.github.com/repos/ReactiveX/RxJava","labels_url":"https://api.github.com/repos/ReactiveX/RxJava/issues/4585/labels{/name}","comments_url":"https://api.github.com/repos/ReactiveX/RxJava/issues/4585/comments","events_url":"https://api.github.com/repos/ReactiveX/RxJava/issues/4585/events","html_url":"https://github.com/ReactiveX/RxJava/pull/4585","id":178736241,"number":4585,"title":"2.x: Evaluate Schedule initialization via Callable","user":{"login":"peter-tackage","id":1025059,"avatar_url":"https://avatars.githubusercontent.com/u/1025059?v=3","gravatar_id":"","url":"https://api.github.com/users/peter-tackage","html_url":"https://github.com/peter-tackage","followers_url":"https://api.github.com/users/peter-tackage/followers","following_url":"https://api.github.com/users/peter-tackage/following{/other_user}","gists_url":"https://api.github.com/users/peter-tackage/gists{/gist_id}","starred_url":"https://api.github.com/users/peter-tackage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/peter-tackage/subscriptions","organizations_url":"https://api.github.com/users/peter-tackage/orgs","repos_url":"https://api.github.com/users/peter-tackage/repos","events_url":"https://api.github.com/users/peter-tackage/events{/privacy}","received_events_url":"https://api.github.com/users/peter-tackage/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ReactiveX/RxJava/labels/Enhancement","name":"Enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/ReactiveX/RxJava/milestones/18","html_url":"https://github.com/ReactiveX/RxJava/milestones/2.0%20RC4","labels_url":"https://api.github.com/repos/ReactiveX/RxJava/milestones/18/labels","id":1984341,"number":18,"title":"2.0 RC4","description":"Release Candidate 4: addressing feedback from RC 3","creator":{"login":"akarnokd","id":1269832,"avatar_url":"https://avatars.githubusercontent.com/u/1269832?v=3","gravatar_id":"","url":"https://api.github.com/users/akarnokd","html_url":"https://github.com/akarnokd","followers_url":"https://api.github.com/users/akarnokd/followers","following_url":"https://api.github.com/users/akarnokd/following{/other_user}","gists_url":"https://api.github.com/users/akarnokd/gists{/gist_id}","starred_url":"https://api.github.com/users/akarnokd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akarnokd/subscriptions","organizations_url":"https://api.github.com/users/akarnokd/orgs","repos_url":"https://api.github.com/users/akarnokd/repos","events_url":"https://api.github.com/users/akarnokd/events{/privacy}","received_events_url":"https://api.github.com/users/akarnokd/received_events","type":"User","site_admin":false},"open_issues":2,"closed_issues":3,"state":"open","created_at":"2016-09-05T14:19:21Z","updated_at":"2016-09-25T09:53:06Z","due_on":"2016-10-07T00:00:00Z","closed_at":null},"comments":5,"created_at":"2016-09-22T22:24:17Z","updated_at":"2016-09-25T16:09:18Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/ReactiveX/RxJava/pulls/4585","html_url":"https://github.com/ReactiveX/RxJava/pull/4585","diff_url":"https://github.com/ReactiveX/RxJava/pull/4585.diff","patch_url":"https://github.com/ReactiveX/RxJava/pull/4585.patch"},"body":"This implements the solution proposed in #4572 - to initialize the Schedulers via a Callable, rather than directly via a value."},"comment":{"url":"https://api.github.com/repos/ReactiveX/RxJava/issues/comments/249430104","html_url":"https://github.com/ReactiveX/RxJava/pull/4585#issuecomment-249430104","issue_url":"https://api.github.com/repos/ReactiveX/RxJava/issues/4585","id":249430104,"user":{"login":"JakeWharton","id":66577,"avatar_url":"https://avatars.githubusercontent.com/u/66577?v=3","gravatar_id":"","url":"https://api.github.com/users/JakeWharton","html_url":"https://github.com/JakeWharton","followers_url":"https://api.github.com/users/JakeWharton/followers","following_url":"https://api.github.com/users/JakeWharton/following{/other_user}","gists_url":"https://api.github.com/users/JakeWharton/gists{/gist_id}","starred_url":"https://api.github.com/users/JakeWharton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JakeWharton/subscriptions","organizations_url":"https://api.github.com/users/JakeWharton/orgs","repos_url":"https://api.github.com/users/JakeWharton/repos","events_url":"https://api.github.com/users/JakeWharton/events{/privacy}","received_events_url":"https://api.github.com/users/JakeWharton/received_events","type":"User","site_admin":false},"created_at":"2016-09-25T16:09:18Z","updated_at":"2016-09-25T16:09:18Z","body":"Aggressive input validation is never over the top. If you defer checking\nthen the stacktrace tells you nothing about what actually caused the broken\nstate.\n\nOn Sun, Sep 25, 2016, 7:09 AM Peter Tackage <notifications@github.com>\nwrote:\n\n> I've added the remaining lazy initialization.\n>\n> I've also fairly aggressively enforced non-null in the associated\n> functions, for example:\n>\n> public static Scheduler initIoScheduler(Callable<Scheduler> defaultScheduler) {\n>     ObjectHelper.requireNonNull(defaultScheduler, \"Scheduler Callable can't be null\");\n>     Callable<Scheduler>, Scheduler> f = onInitIoHandler;\n>     if (f == null) {\n>         return callRequireNonNull(defaultScheduler);\n>     }\n>     return applyRequireNonNull(f, defaultScheduler);\n> }\n>\n> However, to me, this seems slightly out of place / over the top. Is that\n> enforcement necessary or should the resultant null Scheduler be left\n> unasserted and left to the eventual NullPointerException when the Scheduler\n> is used? Either way, I'm happy to keep or remove that based upon review\n> feedback.\n>\n> —\n> You are receiving this because you commented.\n>\n> Reply to this email directly, view it on GitHub\n> <https://github.com/ReactiveX/RxJava/pull/4585#issuecomment-249415736>,\n> or mute the thread\n> <https://github.com/notifications/unsubscribe-auth/AAEEEYuLqRvk4Zp6D5XX5VSnIJQIam4xks5qtlZbgaJpZM4KEbRU>\n> .\n>\n"}}
{"actor":{"display_login":"JakeWharton"}}