From 13663d73cdf7175d5f696cd80cdf14ee99ffc412 Mon Sep 17 00:00:00 2001 From: liach <7806504+liach@users.noreply.github.com> Date: Thu, 21 Jan 2021 17:33:20 -0600 Subject: [PATCH] Realms data fetch stuff (#1966) * Realms data fetch stuff Signed-off-by: liach * missed this name * Update mappings/net/minecraft/client/realms/gui/FetchTask.mapping Co-authored-by: liach --- .../realms/gui/BasicFetchRateLimiter.mapping | 7 ++++++ .../realms/gui/DummyFetchRateLimiter.mapping | 2 ++ .../realms/gui/FetchRateLimiter.mapping | 8 +++++++ .../client/realms/gui/FetchTask.mapping | 22 +++++++++++++++++++ .../realms/gui/RealmsDataFetcher.mapping | 11 ++++++++++ .../realms/util/RealmsPersistence.mapping | 3 +++ 6 files changed, 53 insertions(+) create mode 100644 mappings/net/minecraft/client/realms/gui/BasicFetchRateLimiter.mapping create mode 100644 mappings/net/minecraft/client/realms/gui/DummyFetchRateLimiter.mapping create mode 100644 mappings/net/minecraft/client/realms/gui/FetchRateLimiter.mapping create mode 100644 mappings/net/minecraft/client/realms/gui/FetchTask.mapping diff --git a/mappings/net/minecraft/client/realms/gui/BasicFetchRateLimiter.mapping b/mappings/net/minecraft/client/realms/gui/BasicFetchRateLimiter.mapping new file mode 100644 index 0000000000..fb9c7e7a2f --- /dev/null +++ b/mappings/net/minecraft/client/realms/gui/BasicFetchRateLimiter.mapping @@ -0,0 +1,7 @@ +CLASS net/minecraft/class_5782 net/minecraft/client/realms/gui/BasicFetchRateLimiter + COMMENT An operational rate limiter. + FIELD field_28449 period Ljava/time/Duration; + FIELD field_28450 clock Ljava/util/function/Supplier; + FIELD field_28451 lastRun Ljava/time/Instant; + METHOD (Ljava/time/Duration;)V + ARG 1 period diff --git a/mappings/net/minecraft/client/realms/gui/DummyFetchRateLimiter.mapping b/mappings/net/minecraft/client/realms/gui/DummyFetchRateLimiter.mapping new file mode 100644 index 0000000000..834cfc7795 --- /dev/null +++ b/mappings/net/minecraft/client/realms/gui/DummyFetchRateLimiter.mapping @@ -0,0 +1,2 @@ +CLASS net/minecraft/class_5783 net/minecraft/client/realms/gui/DummyFetchRateLimiter + COMMENT A fetch rate limiter that does nothing. diff --git a/mappings/net/minecraft/client/realms/gui/FetchRateLimiter.mapping b/mappings/net/minecraft/client/realms/gui/FetchRateLimiter.mapping new file mode 100644 index 0000000000..3c0be57f75 --- /dev/null +++ b/mappings/net/minecraft/client/realms/gui/FetchRateLimiter.mapping @@ -0,0 +1,8 @@ +CLASS net/minecraft/class_5785 net/minecraft/client/realms/gui/FetchRateLimiter + COMMENT A fetch rate limiter allows tracking the period of realms data fetcher + COMMENT tasks even when the fetcher has stopped running. It prevents spamming + COMMENT rate-limited fetches. + METHOD method_33421 onRun ()V + COMMENT Notifies the tracker that the tracked task is run. + METHOD method_33422 getRemainingPeriod ()J + COMMENT Returns the time left before the next scheduled run of the tracked task. diff --git a/mappings/net/minecraft/client/realms/gui/FetchTask.mapping b/mappings/net/minecraft/client/realms/gui/FetchTask.mapping new file mode 100644 index 0000000000..56a28af8f9 --- /dev/null +++ b/mappings/net/minecraft/client/realms/gui/FetchTask.mapping @@ -0,0 +1,22 @@ +CLASS net/minecraft/class_5784 net/minecraft/client/realms/gui/FetchTask + COMMENT A task for {@link RealmsDataFetcher} that runs at a fixed interval. It + COMMENT optionally supports rate limits and stops when the fetcher is stopped. + FIELD field_28452 condition Ljava/util/function/BooleanSupplier; + FIELD field_28453 rateLimiter Lnet/minecraft/class_5785; + FIELD field_28454 period Ljava/time/Duration; + FIELD field_28455 command Ljava/lang/Runnable; + METHOD (Ljava/lang/Runnable;Ljava/time/Duration;Ljava/util/function/BooleanSupplier;Lnet/minecraft/class_5785;)V + ARG 1 command + ARG 2 period + ARG 3 condition + ARG 4 rateLimiter + METHOD method_33418 createRateLimited (Ljava/lang/Runnable;Ljava/time/Duration;Ljava/util/function/BooleanSupplier;)Lnet/minecraft/class_5784; + ARG 0 command + ARG 1 period + ARG 2 condition + METHOD method_33419 schedule (Ljava/util/concurrent/ScheduledExecutorService;)Ljava/util/concurrent/ScheduledFuture; + ARG 1 scheduler + METHOD method_33420 create (Ljava/lang/Runnable;Ljava/time/Duration;Ljava/util/function/BooleanSupplier;)Lnet/minecraft/class_5784; + ARG 0 command + ARG 1 period + ARG 2 condition diff --git a/mappings/net/minecraft/client/realms/gui/RealmsDataFetcher.mapping b/mappings/net/minecraft/client/realms/gui/RealmsDataFetcher.mapping index 1bf2d57c91..942365061a 100644 --- a/mappings/net/minecraft/client/realms/gui/RealmsDataFetcher.mapping +++ b/mappings/net/minecraft/client/realms/gui/RealmsDataFetcher.mapping @@ -20,6 +20,12 @@ CLASS net/minecraft/class_4360 net/minecraft/client/realms/gui/RealmsDataFetcher FIELD field_19657 liveStatsScheduledFuture Ljava/util/concurrent/ScheduledFuture; FIELD field_19658 unreadNewsScheduledFuture Ljava/util/concurrent/ScheduledFuture; FIELD field_19659 fetchStatus Ljava/util/Map; + FIELD field_28446 client Lnet/minecraft/class_310; + FIELD field_28447 realms Lnet/minecraft/class_4341; + FIELD field_28448 persistence Lnet/minecraft/class_4432; + METHOD (Lnet/minecraft/class_310;Lnet/minecraft/class_4341;)V + ARG 1 client + ARG 2 realms METHOD method_21073 isStopped ()Z METHOD method_21074 removeItem (Lnet/minecraft/class_4877;)V ARG 1 server @@ -41,6 +47,11 @@ CLASS net/minecraft/class_4360 net/minecraft/client/realms/gui/RealmsDataFetcher METHOD method_21099 scheduleTasks ()V METHOD method_21100 cancelTasks ()V METHOD method_21101 isActive ()Z + METHOD method_33412 updateServerList ()V + METHOD method_33413 updatePendingInvites ()V + METHOD method_33414 updateTrialAvailability ()V + METHOD method_33415 updateLiveStats ()V + METHOD method_33416 updateNews ()V CLASS class_4364 Task FIELD field_19664 SERVER_LIST Lnet/minecraft/class_4360$class_4364; FIELD field_19665 PENDING_INVITE Lnet/minecraft/class_4360$class_4364; diff --git a/mappings/net/minecraft/client/realms/util/RealmsPersistence.mapping b/mappings/net/minecraft/client/realms/util/RealmsPersistence.mapping index 9e3b0707e4..fa138a025a 100644 --- a/mappings/net/minecraft/client/realms/util/RealmsPersistence.mapping +++ b/mappings/net/minecraft/client/realms/util/RealmsPersistence.mapping @@ -4,6 +4,9 @@ CLASS net/minecraft/class_4432 net/minecraft/client/realms/util/RealmsPersistenc METHOD method_21550 writeFile (Lnet/minecraft/class_4432$class_4433;)V ARG 0 data METHOD method_25279 getFile ()Ljava/io/File; + METHOD method_33423 load ()Lnet/minecraft/class_4432$class_4433; + METHOD method_33424 save (Lnet/minecraft/class_4432$class_4433;)V + ARG 1 data CLASS class_4433 RealmsPersistenceData FIELD field_20209 newsLink Ljava/lang/String; FIELD field_20210 hasUnreadNews Z