agones.dev/agones@v1.54.0/sdks/csharp/sdk/IAgonesSDK.cs (about)

     1  // Copyright 2020 Google LLC All Rights Reserved.
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  // http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  using System;
    16  using System.Threading.Tasks;
    17  using Agones.Dev.Sdk;
    18  using Grpc.Core;
    19  
    20  namespace Agones
    21  {
    22      public interface IAgonesSDK : IDisposable
    23      {
    24          Task<Status> ReadyAsync();
    25          Task<Status> AllocateAsync();
    26          Task<Status> ReserveAsync(long seconds);
    27          Task<GameServer> GetGameServerAsync();
    28          void WatchGameServer(Action<GameServer> callback);
    29          Task<Status> ShutDownAsync();
    30          Task<Status> SetLabelAsync(string key, string value);
    31          Task<Status> SetAnnotationAsync(string key, string value);
    32          Task<Status> HealthAsync();
    33          IAgonesAlphaSDK Alpha();
    34          IAgonesBetaSDK Beta();
    35      }
    36  }