@@ -126,6 +126,17 @@ public <T, THeader> ServiceResponseWithHeaders<T, THeader> getPutOrPatchResultWi
126126 public <T > Observable <ServiceResponse <T >> getPutOrPatchResultAsync (Observable <Response <ResponseBody >> observable , final Type resourceType ) {
127127 return this .<T >beginPutOrPatchAsync (observable , resourceType )
128128 .toObservable ()
129+ .flatMap (new Func1 <PollingState <T >, Observable <PollingState <T >>>() {
130+ @ Override
131+ public Observable <PollingState <T >> call (PollingState <T > pollingState ) {
132+ if (pollingState .isStatusTerminal ()) {
133+ return Observable .just (pollingState );
134+ } else {
135+ // initial delay
136+ return Observable .just (pollingState ).delaySubscription (pollingState .delayInMilliseconds (), TimeUnit .MILLISECONDS );
137+ }
138+ }
139+ })
129140 .flatMap (new Func1 <PollingState <T >, Observable <PollingState <T >>>() {
130141 @ Override
131142 public Observable <PollingState <T >> call (PollingState <T > pollingState ) {
@@ -369,6 +380,17 @@ public <T> Observable<ServiceResponse<T>> getPostOrDeleteResultAsync(Observable<
369380 public <T > Observable <ServiceResponse <T >> getPostOrDeleteResultAsync (Observable <Response <ResponseBody >> observable , final LongRunningOperationOptions lroOptions , final Type resourceType ) {
370381 return this .<T >beginPostOrDeleteAsync (observable , lroOptions , resourceType )
371382 .toObservable ()
383+ .flatMap (new Func1 <PollingState <T >, Observable <PollingState <T >>>() {
384+ @ Override
385+ public Observable <PollingState <T >> call (PollingState <T > pollingState ) {
386+ if (pollingState .isStatusTerminal ()) {
387+ return Observable .just (pollingState );
388+ } else {
389+ // initial delay
390+ return Observable .just (pollingState ).delaySubscription (pollingState .delayInMilliseconds (), TimeUnit .MILLISECONDS );
391+ }
392+ }
393+ })
372394 .flatMap (new Func1 <PollingState <T >, Observable <PollingState <T >>>() {
373395 @ Override
374396 public Observable <PollingState <T >> call (PollingState <T > pollingState ) {
0 commit comments