internal static object DeserializeGrainCancellationToken(Type expected, BinaryTokenStreamReader stream)
        {
            var cancellationRequested = stream.ReadToken() == SerializationTokenType.True;
            var tokenId = stream.ReadGuid();

            return(new GrainCancellationToken(tokenId, cancellationRequested));
        }
예제 #2
0
        private static void VerifyUsingFallbackSerializer(object ob)
        {
            var writer = new BinaryTokenStreamWriter();

            SerializationManager.FallbackSerializer(ob, writer, ob.GetType());
            var bytes = writer.ToByteArray();

            byte[] defaultFormatterBytes;
            var    formatter = new BinaryFormatter();

            using (var stream = new MemoryStream())
            {
                formatter.Serialize(stream, ob);
                stream.Flush();
                defaultFormatterBytes = stream.ToArray();
            }

            var reader   = new BinaryTokenStreamReader(bytes);
            var serToken = reader.ReadToken();

            Assert.Equal(SerializationTokenType.Fallback, serToken);
            var length = reader.ReadInt();

            Assert.Equal(length, defaultFormatterBytes.Length);
            var segment = new ArraySegment <byte>(bytes, reader.CurrentPosition, bytes.Length - reader.CurrentPosition);

            Assert.True(segment.SequenceEqual(defaultFormatterBytes));
        }
예제 #3
0
        public static void VerifyUsingFallbackSerializer(object ob)
        {
            var writer = new BinaryTokenStreamWriter();

            SerializationManager.FallbackSerializer(ob, writer, ob.GetType());
            var bytes = writer.ToByteArray();

            var reader   = new BinaryTokenStreamReader(bytes);
            var serToken = reader.ReadToken();

            Assert.Equal(SerializationTokenType.Fallback, serToken);
        }
예제 #4
0
 public object Deserialize(Type expectedType, BinaryTokenStreamReader reader)
 {
     DeserializeCalled = true;
     reader.ReadToken();
     return((FakeSerialized)Activator.CreateInstance(expectedType));
 }