コード例 #1
0
        public void CastFailInternalCastFromBadType()
        {
            Type           t     = typeof(ISimpleGrain);
            GrainReference grain = (GrainReference)GrainClient.GrainFactory.GetGrain <ISimpleGrain>(random.Next(), SimpleGrain.SimpleGrainNamePrefix);
            IAddressable   cast  = GrainReference.CastInternal(
                typeof(Boolean),
                null,
                grain,
                GrainInterfaceData.GetGrainInterfaceId(t));

            Assert.Fail("Exception should have been raised");
        }
コード例 #2
0
        public void CastInternalCastFromMyType()
        {
            var            serviceName = typeof(SimpleGrain).FullName;
            GrainReference grain       = (GrainReference)GrainClient.GrainFactory.GetGrain <ISimpleGrain>(random.Next(), SimpleGrain.SimpleGrainNamePrefix);

            IAddressable cast = GrainReference.CastInternal(
                typeof(ISimpleGrain),
                (GrainReference gr) => { throw new InvalidOperationException("Should not need to create a new GrainReference wrapper"); },
                grain,
                Utils.CalculateIdHash(serviceName));

            Assert.IsInstanceOfType(cast, typeof(ISimpleGrain));
        }
コード例 #3
0
        public void CastInternalCastUpFromChild()
        {
            // GeneratorTestDerivedGrain1Reference extends GeneratorTestGrainReference
            GrainReference grain = (GrainReference)GrainClient.GrainFactory.GetGrain <IGeneratorTestDerivedGrain1>(GetRandomGrainId());

            var          serviceName = typeof(GeneratorTestGrain).FullName;
            IAddressable cast        = GrainReference.CastInternal(
                typeof(IGeneratorTestGrain),
                (GrainReference gr) => { throw new InvalidOperationException("Should not need to create a new GrainReference wrapper"); },
                grain,
                Utils.CalculateIdHash(serviceName));

            Assert.IsInstanceOfType(cast, typeof(IGeneratorTestGrain));
        }
コード例 #4
0
 public static IPerson Cast(IAddressable grainRef)
 {
     return((IPerson)GrainReference.CastInternal(typeof(IPerson), (GrainReference gr) => { return new PersonReference(gr); }, grainRef, -627797884));
 }
コード例 #5
0
 public static IPlayerRegistrationGrain Cast(IAddressable grainRef)
 {
     return((IPlayerRegistrationGrain)GrainReference.CastInternal(typeof(IPlayerRegistrationGrain), (GrainReference gr) => { return new PlayerRegistrationGrainReference(gr); }, grainRef, 402110932));
 }
コード例 #6
0
 public static IGameServerGrain Cast(IAddressable grainRef)
 {
     return((IGameServerGrain)GrainReference.CastInternal(typeof(IGameServerGrain), (GrainReference gr) => { return new GameServerGrainReference(gr); }, grainRef, 1930156440));
 }
コード例 #7
0
 public static IPlayerObserver Cast(IAddressable grainRef)
 {
     return((IPlayerObserver)GrainReference.CastInternal(typeof(IPlayerObserver), (GrainReference gr) => { return new PlayerObserverReference(gr); }, grainRef, 756676893));
 }
コード例 #8
0
 public static IPlayerGrain Cast(IAddressable grainRef)
 {
     return((IPlayerGrain)GrainReference.CastInternal(typeof(IPlayerGrain), (GrainReference gr) => { return new PlayerGrainReference(gr); }, grainRef, -1571374391));
 }
コード例 #9
0
 public static ILobbyGrain Cast(IAddressable grainRef)
 {
     return((ILobbyGrain)GrainReference.CastInternal(typeof(ILobbyGrain), (GrainReference gr) => { return new LobbyGrainReference(gr); }, grainRef, 880933729));
 }
コード例 #10
0
 public static ISimulatorGrain Cast(IAddressable grainRef)
 {
     return((ISimulatorGrain)GrainReference.CastInternal(typeof(ISimulatorGrain), (GrainReference gr) => { return new SimulatorGrainReference(gr); }, grainRef, 2113177723));
 }
コード例 #11
0
 public static IObserve Cast(IAddressable grainRef)
 {
     return((IObserve)GrainReference.CastInternal(typeof(IObserve), (GrainReference gr) => { return new ObserveReference(gr); }, grainRef, -1853968243));
 }
コード例 #12
0
 public static IClient Cast(IAddressable grainRef)
 {
     return((IClient)GrainReference.CastInternal(typeof(IClient), (GrainReference gr) => { return new ClientReference(gr); }, grainRef, 523268002));
 }
コード例 #13
0
 public static IDestination Cast(IAddressable grainRef)
 {
     return((IDestination)GrainReference.CastInternal(typeof(IDestination), (GrainReference gr) => { return new DestinationReference(gr); }, grainRef, 1662910789));
 }
コード例 #14
0
 public static IClientObserver Cast(IAddressable grainRef)
 {
     return((IClientObserver)GrainReference.CastInternal(typeof(IClientObserver), (GrainReference gr) => { return new ClientObserverReference(gr); }, grainRef, 1126410990));
 }
コード例 #15
0
 public static IAggregatorGrain Cast(IAddressable grainRef)
 {
     return((IAggregatorGrain)GrainReference.CastInternal(typeof(IAggregatorGrain), (GrainReference gr) => { return new AggregatorGrainReference(gr); }, grainRef, 1374214536));
 }
コード例 #16
0
 public static ISimulationObserver Cast(IAddressable grainRef)
 {
     return((ISimulationObserver)GrainReference.CastInternal(typeof(ISimulationObserver), (GrainReference gr) => { return new SimulationObserverReference(gr); }, grainRef, -2015988020));
 }
コード例 #17
0
 public static IManagerGrain Cast(IAddressable grainRef)
 {
     return((IManagerGrain)GrainReference.CastInternal(typeof(IManagerGrain), (GrainReference gr) => { return new ManagerGrainReference(gr); }, grainRef, -2031832475));
 }
コード例 #18
0
 public static IStackGrain Cast(IAddressable grainRef)
 {
     return((IStackGrain)GrainReference.CastInternal(typeof(IStackGrain), (GrainReference gr) => { return new StackGrainReference(gr); }, grainRef, 1724875955));
 }
コード例 #19
0
 public static IPushNotifierGrain Cast(IAddressable grainRef)
 {
     return((IPushNotifierGrain)GrainReference.CastInternal(typeof(IPushNotifierGrain), (GrainReference gr) => { return new PushNotifierGrainReference(gr); }, grainRef, -2137827649));
 }
コード例 #20
0
 public static IDoStuff Cast(IAddressable grainRef)
 {
     return((IDoStuff)GrainReference.CastInternal(typeof(IDoStuff), (GrainReference gr) => { return new DoStuffReference(gr); }, grainRef, 1237371746));
 }
コード例 #21
0
 public static IDeviceGrain Cast(IAddressable grainRef)
 {
     return((IDeviceGrain)GrainReference.CastInternal(typeof(IDeviceGrain), (GrainReference gr) => { return new DeviceGrainReference(gr); }, grainRef, -1248350959));
 }