@@ -345,6 +345,112 @@ public Future<UpdateTableResponse> updateTable(UpdateTableRequest request,
345345 return f ;
346346 }
347347
348+ public Future <CreateGlobalTableResponse > createGlobalTable (CreateGlobalTableRequest request ,
349+ TableStoreCallback <CreateGlobalTableRequest , CreateGlobalTableResponse > callback ) {
350+ Preconditions .checkNotNull (request );
351+
352+ TraceLogger tracer = getTraceLogger ();
353+ RetryStrategy retry = this .retryStrategy .clone ();
354+ CreateGlobalTableLauncher launcher = launcherFactory .createGlobalTable (tracer , retry , request );
355+
356+ AsyncCompletion <CreateGlobalTableRequest , CreateGlobalTableResponse > completion = new AsyncCompletion <>(launcher , request , tracer ,
357+ callbackExecutor , retry , retryExecutor );
358+ CallbackImpledFuture <CreateGlobalTableRequest , CreateGlobalTableResponse > f = new CallbackImpledFuture <>();
359+ completion .watchBy (f );
360+ if (callback != null ) {
361+ // user callback must be triggered after completion of the return
362+ // future.
363+ f .watchBy (callback );
364+ }
365+ launcher .fire (request , completion );
366+ return f ;
367+ }
368+
369+ public Future <BindGlobalTableResponse > bindGlobalTable (BindGlobalTableRequest request ,
370+ TableStoreCallback <BindGlobalTableRequest , BindGlobalTableResponse > callback ) {
371+ Preconditions .checkNotNull (request );
372+
373+ TraceLogger tracer = getTraceLogger ();
374+ RetryStrategy retry = this .retryStrategy .clone ();
375+ BindGlobalTableLauncher launcher = launcherFactory .bindGlobalTable (tracer , retry , request );
376+
377+ AsyncCompletion <BindGlobalTableRequest , BindGlobalTableResponse > completion = new AsyncCompletion <>(launcher , request , tracer ,
378+ callbackExecutor , retry , retryExecutor );
379+ CallbackImpledFuture <BindGlobalTableRequest , BindGlobalTableResponse > f = new CallbackImpledFuture <>();
380+ completion .watchBy (f );
381+ if (callback != null ) {
382+ // user callback must be triggered after completion of the return
383+ // future.
384+ f .watchBy (callback );
385+ }
386+ launcher .fire (request , completion );
387+ return f ;
388+ }
389+
390+ public Future <UnbindGlobalTableResponse > unbindGlobalTable (UnbindGlobalTableRequest request ,
391+ TableStoreCallback <UnbindGlobalTableRequest , UnbindGlobalTableResponse > callback ) {
392+ Preconditions .checkNotNull (request );
393+
394+ TraceLogger tracer = getTraceLogger ();
395+ RetryStrategy retry = this .retryStrategy .clone ();
396+ UnbindGlobalTableLauncher launcher = launcherFactory .unbindGlobalTable (tracer , retry , request );
397+
398+ AsyncCompletion <UnbindGlobalTableRequest , UnbindGlobalTableResponse > completion = new AsyncCompletion <>(launcher , request , tracer ,
399+ callbackExecutor , retry , retryExecutor );
400+ CallbackImpledFuture <UnbindGlobalTableRequest , UnbindGlobalTableResponse > f = new CallbackImpledFuture <>();
401+ completion .watchBy (f );
402+ if (callback != null ) {
403+ // user callback must be triggered after completion of the return
404+ // future.
405+ f .watchBy (callback );
406+ }
407+ launcher .fire (request , completion );
408+ return f ;
409+ }
410+
411+ public Future <DescribeGlobalTableResponse > describeGlobalTable (DescribeGlobalTableRequest request ,
412+ TableStoreCallback <DescribeGlobalTableRequest , DescribeGlobalTableResponse > callback ) {
413+ Preconditions .checkNotNull (request );
414+
415+ TraceLogger tracer = getTraceLogger ();
416+ RetryStrategy retry = this .retryStrategy .clone ();
417+ DescribeGlobalTableLauncher launcher = launcherFactory .describeGlobalTable (tracer , retry , request );
418+
419+ AsyncCompletion <DescribeGlobalTableRequest , DescribeGlobalTableResponse > completion = new AsyncCompletion <>(launcher , request , tracer ,
420+ callbackExecutor , retry , retryExecutor );
421+ CallbackImpledFuture <DescribeGlobalTableRequest , DescribeGlobalTableResponse > f = new CallbackImpledFuture <>();
422+ completion .watchBy (f );
423+ if (callback != null ) {
424+ // user callback must be triggered after completion of the return
425+ // future.
426+ f .watchBy (callback );
427+ }
428+ launcher .fire (request , completion );
429+ return f ;
430+ }
431+
432+ public Future <UpdateGlobalTableResponse > updateGlobalTable (UpdateGlobalTableRequest request ,
433+ TableStoreCallback <UpdateGlobalTableRequest , UpdateGlobalTableResponse > callback ) {
434+ Preconditions .checkNotNull (request );
435+
436+ TraceLogger tracer = getTraceLogger ();
437+ RetryStrategy retry = this .retryStrategy .clone ();
438+ UpdateGlobalTableLauncher launcher = launcherFactory .updateGlobalTable (tracer , retry , request );
439+
440+ AsyncCompletion <UpdateGlobalTableRequest , UpdateGlobalTableResponse > completion = new AsyncCompletion <>(launcher , request , tracer ,
441+ callbackExecutor , retry , retryExecutor );
442+ CallbackImpledFuture <UpdateGlobalTableRequest , UpdateGlobalTableResponse > f = new CallbackImpledFuture <>();
443+ completion .watchBy (f );
444+ if (callback != null ) {
445+ // user callback must be triggered after completion of the return
446+ // future.
447+ f .watchBy (callback );
448+ }
449+ launcher .fire (request , completion );
450+ return f ;
451+ }
452+
453+
348454 public Future <CreateIndexResponse > createIndex (CreateIndexRequest request ,
349455 TableStoreCallback <CreateIndexRequest , CreateIndexResponse > callback ) {
350456 Preconditions .checkNotNull (request );
0 commit comments