/* Ċ Ġ* ĠSPDX - License - Identifier : ĠApache - 2 . 0 Ċ Ġ* Ċ Ġ* ĠThe ĠOpen Search ĠContributors Ġrequire Ġcontributions Ġmade Ġto Ċ Ġ* Ġthis Ġfile Ġbe Ġlicensed Ġunder Ġthe ĠApache - 2 . 0 Ġlicense Ġor Ġa Ċ Ġ* Ġcompatible Ġopen Ġsource Ġlicense . Ċ Ġ* Ċ Ġ* ĠMod ifications ĠCopyright ĠOpen Search ĠContributors . ĠSee Ċ Ġ* ĠGitHub Ġhistory Ġfor Ġdetails . Ċ Ġ*/ Ċ Ċ package Ġorg . opense arch . replication . action . repository Ċ Ċ import Ġorg . opense arch . action . support . single . shard . Single Shard Request Ċ import Ġorg . opense arch . cluster . node . Discovery Node Ċ import Ġorg . opense arch . common . io . stream . Stream Input Ċ import Ġorg . opense arch . common . io . stream . Stream Output Ċ import Ġorg . opense arch . index . shard . Shard Id Ċ import Ġorg . opense arch . transport . Remote Cluster Aware Request Ċ Ċ abstract Ġclass ĠRemote Cluster Repository Request < T Ġ: ĠSingle Shard Request < T >? >: ĊĠĠĠĠĠĠĠ ĠSingle Shard Request < T >, ĠRemote Cluster Aware Request Ġ{ ĊĊĠĠĠ Ġval Ġrestore UUID : ĠString ĊĠĠĠ Ġval Ġnode : ĠDiscovery Node ĊĠĠĠ Ġval Ġleader Shard Id : ĠSh ard Id ĊĠĠĠ Ġval Ġfollow er Cluster : ĠString ĊĠĠĠ Ġval Ġfollow er Shard Id : ĠSh ard Id ĊĊĠĠĠ Ġconstructor ( restore UUID : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnode : ĠDiscovery Node , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġleader Shard Id : ĠSh ard Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfollow er Cluster : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfollow er Shard Id : ĠSh ard Id ): Ġsuper ( leader Shard Id . index Name ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . restore UUID Ġ= Ġrestore UUID ĊĠĠĠĠĠĠĠ Ġthis . node Ġ= Ġnode ĊĠĠĠĠĠĠĠ Ġthis . leader Shard Id Ġ= Ġleader Shard Id ĊĠĠĠĠĠĠĠ Ġthis . follow er Cluster Ġ= Ġfollow er Cluster ĊĠĠĠĠĠĠĠ Ġthis . follow er Shard Id Ġ= Ġfollow er Shard Id ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( input : ĠStream Input ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrestore UUID Ġ= Ġinput . readString () ĊĠĠĠĠĠĠĠ Ġnode Ġ= ĠDiscovery Node ( input ) ĊĠĠĠĠĠĠĠ Ġleader Shard Id Ġ= ĠSh ard Id ( input ) ĊĠĠĠĠĠĠĠ Ġfollow er Cluster Ġ= Ġinput . readString () ĊĠĠĠĠĠĠĠ Ġfollow er Shard Id Ġ= ĠSh ard Id ( input ) ĊĠĠĠĠĠĠĠ Ġsuper . index Ġ= Ġleader Shard Id . index Name ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠwriteTo ( out : ĠStream Output ) Ġ{ ĊĠĠĠĠĠĠĠ Ġout . writeString ( restore UUID ) ĊĠĠĠĠĠĠĠ Ġnode . writeTo ( out ) ĊĠĠĠĠĠĠĠ Ġleader Shard Id . writeTo ( out ) ĊĠĠĠĠĠĠĠ Ġout . writeString ( follow er Cluster ) ĊĠĠĠĠĠĠĠ Ġfollow er Shard Id . writeTo ( out ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Preferred Target Node (): ĠDiscovery Node Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnode ĊĠĠĠ Ġ} Ċ } Ċ