コード例 #1
0
        // Token: 0x06000BB0 RID: 2992 RVA: 0x00034350 File Offset: 0x00032550
        public void LinkWithMonitoredDatabase(MonitoredDatabase curDatabase)
        {
            if (curDatabase.IsPassiveCopy)
            {
                bool flag = false;
                NetworkChannelMessage.MessageType type = base.Type;
                if (type <= NetworkChannelMessage.MessageType.ProgressCiFileRequest)
                {
                    if (type <= NetworkChannelMessage.MessageType.SeedLogCopyRequest)
                    {
                        if (type != NetworkChannelMessage.MessageType.CancelCiFileRequest && type != NetworkChannelMessage.MessageType.SeedLogCopyRequest)
                        {
                            goto IL_7C;
                        }
                    }
                    else if (type != NetworkChannelMessage.MessageType.PassiveDatabaseFileRequest && type != NetworkChannelMessage.MessageType.ProgressCiFileRequest)
                    {
                        goto IL_7C;
                    }
                }
                else if (type <= NetworkChannelMessage.MessageType.SeedCiFileRequest2)
                {
                    if (type != NetworkChannelMessage.MessageType.SeedCiFileRequest && type != NetworkChannelMessage.MessageType.SeedCiFileRequest2)
                    {
                        goto IL_7C;
                    }
                }
                else if (type != NetworkChannelMessage.MessageType.CancelCiFileReply && type != NetworkChannelMessage.MessageType.ProgressCiFileReply && type != NetworkChannelMessage.MessageType.SeedCiFileReply)
                {
                    goto IL_7C;
                }
                flag = true;
IL_7C:
                if (!flag)
                {
                    ExTraceGlobals.NetworkChannelTracer.TraceError <NetworkChannelMessage.MessageType, string, string>((long)this.GetHashCode(), "LinkWithMonitoredDatabase rejecting request {0} from {1} for database {2}", base.Type, base.Channel.PartnerNodeName, curDatabase.DatabaseName);
                    Exception ex = new SourceDatabaseNotFoundException(this.DatabaseGuid, Environment.MachineName);
                    base.Channel.SendException(ex);
                    throw ex;
                }
            }
            if (base.Channel.MonitoredDatabase != curDatabase)
            {
                if (base.Channel.MonitoredDatabase == null)
                {
                    base.Channel.MonitoredDatabase = curDatabase;
                    return;
                }
                if (curDatabase.DatabaseGuid != this.DatabaseGuid)
                {
                    ExTraceGlobals.NetworkChannelTracer.TraceError <Guid, string>(0L, "Unexpected dbguid: got: {0}, expected:{1}", this.DatabaseGuid, curDatabase.Identity);
                    base.Channel.ThrowUnexpectedMessage(this);
                }
                base.Channel.TraceDebug("Source instance must have restarted. Relinking to database {0}", new object[]
                {
                    curDatabase.DatabaseName
                });
                base.Channel.MonitoredDatabase = curDatabase;
            }
        }
コード例 #2
0
 internal NetworkChannelMessage(NetworkChannel channel, NetworkChannelMessage.MessageType msgType, byte[] packetContent)
 {
     this.m_channel = channel;
     this.m_msgType = msgType;
     this.m_packet  = new NetworkChannelPacket(packetContent);
     this.Packet.ExtractUInt32();
     this.Packet.ExtractUInt32();
     this.MessageUtc = this.Packet.ExtractDateTime();
 }
コード例 #3
0
        internal static NetworkChannelMessage ReadMessage(NetworkChannel channel, byte[] headerBuf)
        {
            int num = 0;

            NetworkChannelMessage.MessageType messageType = (NetworkChannelMessage.MessageType)Serialization.DeserializeUInt32(headerBuf, ref num);
            if (!NetworkChannelMessage.IsValidType(messageType))
            {
                throw new NetworkUnexpectedMessageException(channel.PartnerNodeName, string.Format("Unknown Type{0}", messageType));
            }
            int num2 = (int)Serialization.DeserializeUInt32(headerBuf, ref num);

            if (num2 < 16 || num2 > 1052672)
            {
                throw new NetworkUnexpectedMessageException(channel.PartnerNodeName, string.Format("Invalid msgLen: {0}", num2));
            }
            ExTraceGlobals.NetworkChannelTracer.TraceDebug <NetworkChannelMessage.MessageType, string, string>((long)channel.GetHashCode(), "ReadMessage: Received {0} from {1} on {2}", messageType, channel.RemoteEndPointString, channel.LocalEndPointString);
            byte[] array = new byte[num2];
            Array.Copy(headerBuf, 0, array, 0, 16);
            int len = num2 - 16;

            channel.Read(array, 16, len);
            NetworkChannelMessage.MessageType messageType2 = messageType;
            if (messageType2 <= NetworkChannelMessage.MessageType.BlockModeCompressedData)
            {
                if (messageType2 == NetworkChannelMessage.MessageType.PassiveStatus)
                {
                    return(new PassiveStatusMsg(channel, array));
                }
                if (messageType2 != NetworkChannelMessage.MessageType.BlockModeCompressedData)
                {
                    goto IL_118;
                }
            }
            else
            {
                if (messageType2 == NetworkChannelMessage.MessageType.Ping)
                {
                    return(new PingMessage(channel, array));
                }
                if (messageType2 != NetworkChannelMessage.MessageType.GranularLogData)
                {
                    if (messageType2 != NetworkChannelMessage.MessageType.EnterBlockMode)
                    {
                        goto IL_118;
                    }
                    return(new EnterBlockModeMsg(channel, array));
                }
            }
            throw new NetworkUnexpectedMessageException(channel.PartnerNodeName, string.Format("ReadMessage() does not support message type: {0}.", messageType));
IL_118:
            throw new NetworkUnexpectedMessageException(channel.PartnerNodeName, string.Format("Unknown message type: 0x{0:X}", (int)messageType));
        }
コード例 #4
0
        public static void SerializeHeaderToBuffer(NetworkChannelMessage.MessageType msgType, int totalSize, byte[] targetBuffer, int targetBufferOffsetToStart)
        {
            NetworkChannelPacket networkChannelPacket = new NetworkChannelPacket(targetBuffer, targetBufferOffsetToStart);

            networkChannelPacket.GrowthDisabled = true;
            networkChannelPacket.Append(1);
            int val = totalSize - 5;

            networkChannelPacket.Append(val);
            networkChannelPacket.Append((int)msgType);
            networkChannelPacket.Append(val);
            networkChannelPacket.Append(DateTime.UtcNow);
        }
コード例 #5
0
        private QueuedBlockMsg ReadInputMessage(NetworkChannel netChan)
        {
            this.m_timeoutPending = false;
            byte[]         networkReadWorkingBuf = this.m_networkReadWorkingBuf;
            StopwatchStamp stamp = StopwatchStamp.GetStamp();
            NetworkChannelMessageHeader msgHdr = NetworkChannelMessage.ReadHeaderFromNet(netChan, networkReadWorkingBuf, 0);

            NetworkChannelMessage.MessageType messageType = msgHdr.MessageType;
            QueuedBlockMsg queuedBlockMsg;

            if (messageType != NetworkChannelMessage.MessageType.BlockModeCompressedData)
            {
                if (messageType == NetworkChannelMessage.MessageType.Ping)
                {
                    PingMessage pingMessage = PingMessage.ReadFromNet(netChan, networkReadWorkingBuf, 0);
                    long        systemPerformanceCounter = Win32StopWatch.GetSystemPerformanceCounter();
                    long        arg = Win32StopWatch.ComputeElapsedTimeInUSec(systemPerformanceCounter, pingMessage.ReplyAckCounter) / 1000L;
                    this.Copier.TrackLastContactTime(msgHdr.MessageUtc);
                    PassiveBlockMode.Tracer.TraceDebug <string, long>((long)this.GetHashCode(), "ProcessReadCallback({0}) received a ping after {1}ms, so channel is healthy", this.DatabaseName, arg);
                    return(null);
                }
                if (messageType != NetworkChannelMessage.MessageType.GranularLogData)
                {
                    throw new NetworkUnexpectedMessageException(netChan.PartnerNodeName, string.Format("Unknown Type {0}", msgHdr.MessageType));
                }
                queuedBlockMsg = this.ReadUncompressedMsg(netChan);
                this.Copier.PerfmonCounters.CompressionEnabled = 0L;
            }
            else
            {
                queuedBlockMsg = this.ReadCompressedMsg(netChan, msgHdr);
                this.Copier.PerfmonCounters.CompressionEnabled = 1L;
            }
            queuedBlockMsg.ReadDurationInTics = stamp.ElapsedTicks;
            queuedBlockMsg.MessageUtc         = msgHdr.MessageUtc;
            this.Copier.PerfmonCounters.RecordLogCopierNetworkReadLatency(queuedBlockMsg.ReadDurationInTics);
            return(queuedBlockMsg);
        }
コード例 #6
0
 // Token: 0x060017B1 RID: 6065 RVA: 0x00061EC5 File Offset: 0x000600C5
 internal NetworkChannelFileTransferReply(NetworkChannel channel, NetworkChannelMessage.MessageType msgType, byte[] packetContent) : base(channel, msgType, packetContent)
 {
     this.FileSize     = base.Packet.ExtractInt64();
     this.LastWriteUtc = base.Packet.ExtractDateTime();
     this.DataEncoding = (NetworkChannel.DataEncodingScheme)base.Packet.ExtractUInt32();
 }
コード例 #7
0
 // Token: 0x060017AF RID: 6063 RVA: 0x00061E79 File Offset: 0x00060079
 internal NetworkChannelFileTransferReply(NetworkChannel channel, NetworkChannelMessage.MessageType msgType) : base(channel, msgType)
 {
     this.m_dataEncoding = NetworkChannel.DataEncodingScheme.Uncompressed;
 }
コード例 #8
0
 // Token: 0x060019D4 RID: 6612 RVA: 0x0006C314 File Offset: 0x0006A514
 protected SeedCiFileRequest(NetworkChannel channel, NetworkChannelMessage.MessageType messageType, byte[] packetContent) : base(channel, messageType, packetContent)
 {
 }
コード例 #9
0
 // Token: 0x060019D3 RID: 6611 RVA: 0x0006C2F9 File Offset: 0x0006A4F9
 protected SeedCiFileRequest(NetworkChannel channel, NetworkChannelMessage.MessageType messageType, Guid dbGuid, string endpoint, string reason) : base(channel, messageType, dbGuid)
 {
     this.endpoint = endpoint;
     this.reason   = reason;
 }
コード例 #10
0
        internal static bool IsValidType(NetworkChannelMessage.MessageType msgType)
        {
            if (msgType <= NetworkChannelMessage.MessageType.CompressionRequest)
            {
                if (msgType <= NetworkChannelMessage.MessageType.SeedLogCopyRequest)
                {
                    if (msgType <= NetworkChannelMessage.MessageType.Ping)
                    {
                        if (msgType <= NetworkChannelMessage.MessageType.PassiveStatus)
                        {
                            if (msgType != NetworkChannelMessage.MessageType.TestNetwork0 && msgType != NetworkChannelMessage.MessageType.PassiveStatus)
                            {
                                return(false);
                            }
                        }
                        else if (msgType != NetworkChannelMessage.MessageType.CompressionConfig && msgType != NetworkChannelMessage.MessageType.BlockModeCompressedData && msgType != NetworkChannelMessage.MessageType.Ping)
                        {
                            return(false);
                        }
                    }
                    else if (msgType <= NetworkChannelMessage.MessageType.EnterBlockMode)
                    {
                        if (msgType != NetworkChannelMessage.MessageType.GranularTermination && msgType != NetworkChannelMessage.MessageType.GranularLogData && msgType != NetworkChannelMessage.MessageType.EnterBlockMode)
                        {
                            return(false);
                        }
                    }
                    else if (msgType != NetworkChannelMessage.MessageType.GetE00GenerationRequest && msgType != NetworkChannelMessage.MessageType.CancelCiFileRequest && msgType != NetworkChannelMessage.MessageType.SeedLogCopyRequest)
                    {
                        return(false);
                    }
                }
                else if (msgType <= NetworkChannelMessage.MessageType.CopyLogRequest)
                {
                    if (msgType <= NetworkChannelMessage.MessageType.SeedDatabaseFileRequest)
                    {
                        if (msgType != NetworkChannelMessage.MessageType.PassiveDatabaseFileRequest && msgType != NetworkChannelMessage.MessageType.SeedDatabaseFileRequest)
                        {
                            return(false);
                        }
                    }
                    else
                    {
                        switch (msgType)
                        {
                        case NetworkChannelMessage.MessageType.ContinuousLogCopyRequest:
                        case NetworkChannelMessage.MessageType.NotifyEndOfLogRequest:
                            break;

                        case (NetworkChannelMessage.MessageType) 1363627076:
                            return(false);

                        default:
                            if (msgType != NetworkChannelMessage.MessageType.TestLogExistenceRequest && msgType != NetworkChannelMessage.MessageType.CopyLogRequest)
                            {
                                return(false);
                            }
                            break;
                        }
                    }
                }
                else if (msgType <= NetworkChannelMessage.MessageType.SeedPageReaderRollLogFileRequest)
                {
                    if (msgType != NetworkChannelMessage.MessageType.QueryLogRangeRequest && msgType != NetworkChannelMessage.MessageType.TestHealthRequest && msgType != NetworkChannelMessage.MessageType.SeedPageReaderRollLogFileRequest)
                    {
                        return(false);
                    }
                }
                else if (msgType != NetworkChannelMessage.MessageType.SeedPageReaderMultiplePageRequest && msgType != NetworkChannelMessage.MessageType.ProgressCiFileRequest && msgType != NetworkChannelMessage.MessageType.CompressionRequest)
                {
                    return(false);
                }
            }
            else if (msgType <= NetworkChannelMessage.MessageType.SeedDatabaseFileReply)
            {
                if (msgType <= NetworkChannelMessage.MessageType.ContinuousLogCopyRequest2)
                {
                    if (msgType <= NetworkChannelMessage.MessageType.SeedCiFileRequest)
                    {
                        if (msgType != NetworkChannelMessage.MessageType.SeedPageReaderSinglePageRequest && msgType != NetworkChannelMessage.MessageType.SeedCiFileRequest)
                        {
                            return(false);
                        }
                    }
                    else if (msgType != NetworkChannelMessage.MessageType.SeedCiFileRequest2 && msgType != NetworkChannelMessage.MessageType.SeedPageReaderPageSizeRequest && msgType != NetworkChannelMessage.MessageType.ContinuousLogCopyRequest2)
                    {
                        return(false);
                    }
                }
                else if (msgType <= NetworkChannelMessage.MessageType.GetE00GenerationReply)
                {
                    if (msgType != NetworkChannelMessage.MessageType.LogCopyServerStatus && msgType != NetworkChannelMessage.MessageType.GranularLogComplete && msgType != NetworkChannelMessage.MessageType.GetE00GenerationReply)
                    {
                        return(false);
                    }
                }
                else if (msgType != NetworkChannelMessage.MessageType.NotifyEndOfLogAsyncReply && msgType != NetworkChannelMessage.MessageType.CancelCiFileReply && msgType != NetworkChannelMessage.MessageType.SeedDatabaseFileReply)
                {
                    return(false);
                }
            }
            else if (msgType <= NetworkChannelMessage.MessageType.TestHealthReply)
            {
                if (msgType <= NetworkChannelMessage.MessageType.TestLogExistenceReply)
                {
                    if (msgType != NetworkChannelMessage.MessageType.NotifyEndOfLogReply && msgType != NetworkChannelMessage.MessageType.TestLogExistenceReply)
                    {
                        return(false);
                    }
                }
                else if (msgType != NetworkChannelMessage.MessageType.CopyLogReply && msgType != NetworkChannelMessage.MessageType.QueryLogRangeReply && msgType != NetworkChannelMessage.MessageType.TestHealthReply)
                {
                    return(false);
                }
            }
            else if (msgType <= NetworkChannelMessage.MessageType.CompressionReply)
            {
                if (msgType != NetworkChannelMessage.MessageType.SeedPageReaderRollLogFileReply && msgType != NetworkChannelMessage.MessageType.ProgressCiFileReply && msgType != NetworkChannelMessage.MessageType.CompressionReply)
                {
                    return(false);
                }
            }
            else if (msgType != NetworkChannelMessage.MessageType.SeedPageReaderSinglePageReply && msgType != NetworkChannelMessage.MessageType.SeedCiFileReply && msgType != NetworkChannelMessage.MessageType.SeedPageReaderPageSizeReply)
            {
                return(false);
            }
            return(true);
        }
コード例 #11
0
 internal NetworkChannelMessage(NetworkChannelMessage.MessageType msgType)
 {
     this.m_msgType = msgType;
 }
コード例 #12
0
        internal static NetworkChannelMessage ReadMessage(NetworkChannel channel, byte[] headerBuf)
        {
            int num = 0;

            NetworkChannelMessage.MessageType messageType = (NetworkChannelMessage.MessageType)Serialization.DeserializeUInt32(headerBuf, ref num);
            if (!NetworkChannelMessage.IsValidType(messageType))
            {
                throw new NetworkUnexpectedMessageException(channel.PartnerNodeName, string.Format("Unknown Type{0}", messageType));
            }
            int num2 = (int)Serialization.DeserializeUInt32(headerBuf, ref num);

            if (num2 < 16 || num2 > 1052672)
            {
                throw new NetworkUnexpectedMessageException(channel.PartnerNodeName, string.Format("Invalid msgLen: {0}", num2));
            }
            ExTraceGlobals.NetworkChannelTracer.TraceDebug <NetworkChannelMessage.MessageType, string, string>((long)channel.GetHashCode(), "ReadMessage: Received {0} from {1} on {2}", messageType, channel.RemoteEndPointString, channel.LocalEndPointString);
            byte[] array = new byte[num2];
            Array.Copy(headerBuf, 0, array, 0, 16);
            int len = num2 - 16;

            channel.Read(array, 16, len);
            NetworkChannelMessage.MessageType messageType2 = messageType;
            if (messageType2 <= NetworkChannelMessage.MessageType.CompressionRequest)
            {
                if (messageType2 <= NetworkChannelMessage.MessageType.SeedLogCopyRequest)
                {
                    if (messageType2 <= NetworkChannelMessage.MessageType.Ping)
                    {
                        if (messageType2 <= NetworkChannelMessage.MessageType.PassiveStatus)
                        {
                            if (messageType2 == NetworkChannelMessage.MessageType.TestNetwork0)
                            {
                                return(new TestNetwork0Request(channel, array));
                            }
                            if (messageType2 != NetworkChannelMessage.MessageType.PassiveStatus)
                            {
                                goto IL_51C;
                            }
                            return(new PassiveStatusMsg(channel, array));
                        }
                        else
                        {
                            if (messageType2 == NetworkChannelMessage.MessageType.CompressionConfig)
                            {
                                return(new NetworkChannelCompressionConfigMsg(channel, array));
                            }
                            if (messageType2 != NetworkChannelMessage.MessageType.BlockModeCompressedData)
                            {
                                if (messageType2 != NetworkChannelMessage.MessageType.Ping)
                                {
                                    goto IL_51C;
                                }
                                return(new PingMessage(channel, array));
                            }
                        }
                    }
                    else if (messageType2 <= NetworkChannelMessage.MessageType.EnterBlockMode)
                    {
                        if (messageType2 == NetworkChannelMessage.MessageType.GranularTermination)
                        {
                            return(new GranularTerminationMsg(channel, array));
                        }
                        if (messageType2 != NetworkChannelMessage.MessageType.GranularLogData)
                        {
                            if (messageType2 != NetworkChannelMessage.MessageType.EnterBlockMode)
                            {
                                goto IL_51C;
                            }
                            return(new EnterBlockModeMsg(channel, array));
                        }
                    }
                    else
                    {
                        if (messageType2 == NetworkChannelMessage.MessageType.GetE00GenerationRequest)
                        {
                            return(new GetE00GenerationRequest(channel, array));
                        }
                        if (messageType2 == NetworkChannelMessage.MessageType.CancelCiFileRequest)
                        {
                            return(new CancelCiFileRequest(channel, array));
                        }
                        if (messageType2 != NetworkChannelMessage.MessageType.SeedLogCopyRequest)
                        {
                            goto IL_51C;
                        }
                        return(new SeedLogCopyRequest(channel, array));
                    }
                    throw new NetworkUnexpectedMessageException(channel.PartnerNodeName, string.Format("ReadMessage() does not support message type: {0}.", messageType));
                }
                if (messageType2 <= NetworkChannelMessage.MessageType.CopyLogRequest)
                {
                    if (messageType2 <= NetworkChannelMessage.MessageType.SeedDatabaseFileRequest)
                    {
                        if (messageType2 == NetworkChannelMessage.MessageType.PassiveDatabaseFileRequest)
                        {
                            return(new PassiveSeedDatabaseFileRequest(channel, array));
                        }
                        if (messageType2 == NetworkChannelMessage.MessageType.SeedDatabaseFileRequest)
                        {
                            return(new SeedDatabaseFileRequest(channel, array));
                        }
                    }
                    else
                    {
                        switch (messageType2)
                        {
                        case NetworkChannelMessage.MessageType.ContinuousLogCopyRequest:
                            return(new ContinuousLogCopyRequest(channel, array));

                        case (NetworkChannelMessage.MessageType) 1363627076:
                            break;

                        case NetworkChannelMessage.MessageType.NotifyEndOfLogRequest:
                            return(new NotifyEndOfLogRequest(channel, array));

                        default:
                            if (messageType2 == NetworkChannelMessage.MessageType.TestLogExistenceRequest)
                            {
                                return(new TestLogExistenceRequest(channel, array));
                            }
                            if (messageType2 == NetworkChannelMessage.MessageType.CopyLogRequest)
                            {
                                return(new CopyLogRequest(channel, array));
                            }
                            break;
                        }
                    }
                }
                else if (messageType2 <= NetworkChannelMessage.MessageType.SeedPageReaderRollLogFileRequest)
                {
                    if (messageType2 == NetworkChannelMessage.MessageType.QueryLogRangeRequest)
                    {
                        return(new QueryLogRangeRequest(channel, array));
                    }
                    if (messageType2 == NetworkChannelMessage.MessageType.TestHealthRequest)
                    {
                        return(new TestHealthRequest(channel, array));
                    }
                    if (messageType2 == NetworkChannelMessage.MessageType.SeedPageReaderRollLogFileRequest)
                    {
                        return(new SeedPageReaderRollLogFileRequest(channel, array));
                    }
                }
                else
                {
                    if (messageType2 == NetworkChannelMessage.MessageType.SeedPageReaderMultiplePageRequest)
                    {
                        return(new SeedPageReaderMultiplePageRequest(channel, array));
                    }
                    if (messageType2 == NetworkChannelMessage.MessageType.ProgressCiFileRequest)
                    {
                        return(new ProgressCiFileRequest(channel, array));
                    }
                    if (messageType2 == NetworkChannelMessage.MessageType.CompressionRequest)
                    {
                        return(new NetworkChannelCompressionRequest(channel, array));
                    }
                }
            }
            else if (messageType2 <= NetworkChannelMessage.MessageType.SeedDatabaseFileReply)
            {
                if (messageType2 <= NetworkChannelMessage.MessageType.ContinuousLogCopyRequest2)
                {
                    if (messageType2 <= NetworkChannelMessage.MessageType.SeedCiFileRequest)
                    {
                        if (messageType2 == NetworkChannelMessage.MessageType.SeedPageReaderSinglePageRequest)
                        {
                            return(new SeedPageReaderSinglePageRequest(channel, array));
                        }
                        if (messageType2 == NetworkChannelMessage.MessageType.SeedCiFileRequest)
                        {
                            return(new SeedCiFileRequest(channel, array));
                        }
                    }
                    else
                    {
                        if (messageType2 == NetworkChannelMessage.MessageType.SeedCiFileRequest2)
                        {
                            return(new SeedCiFileRequest2(channel, array));
                        }
                        if (messageType2 == NetworkChannelMessage.MessageType.SeedPageReaderPageSizeRequest)
                        {
                            return(new SeedPageReaderPageSizeRequest(channel, array));
                        }
                        if (messageType2 == NetworkChannelMessage.MessageType.ContinuousLogCopyRequest2)
                        {
                            return(new ContinuousLogCopyRequest2(channel, array));
                        }
                    }
                }
                else if (messageType2 <= NetworkChannelMessage.MessageType.GetE00GenerationReply)
                {
                    if (messageType2 == NetworkChannelMessage.MessageType.LogCopyServerStatus)
                    {
                        return(new LogCopyServerStatusMsg(channel, array));
                    }
                    if (messageType2 == NetworkChannelMessage.MessageType.GranularLogComplete)
                    {
                        return(new GranularLogCompleteMsg(channel, array));
                    }
                    if (messageType2 == NetworkChannelMessage.MessageType.GetE00GenerationReply)
                    {
                        return(new GetE00GenerationReply(channel, array));
                    }
                }
                else
                {
                    if (messageType2 == NetworkChannelMessage.MessageType.NotifyEndOfLogAsyncReply)
                    {
                        return(new NotifyEndOfLogAsyncReply(channel, array));
                    }
                    if (messageType2 == NetworkChannelMessage.MessageType.CancelCiFileReply)
                    {
                        return(new CancelCiFileReply(channel, array));
                    }
                    if (messageType2 == NetworkChannelMessage.MessageType.SeedDatabaseFileReply)
                    {
                        return(new SeedDatabaseFileReply(channel, array));
                    }
                }
            }
            else if (messageType2 <= NetworkChannelMessage.MessageType.TestHealthReply)
            {
                if (messageType2 <= NetworkChannelMessage.MessageType.TestLogExistenceReply)
                {
                    if (messageType2 == NetworkChannelMessage.MessageType.NotifyEndOfLogReply)
                    {
                        return(new NotifyEndOfLogReply(channel, messageType, array));
                    }
                    if (messageType2 == NetworkChannelMessage.MessageType.TestLogExistenceReply)
                    {
                        return(new TestLogExistenceReply(channel, array));
                    }
                }
                else
                {
                    if (messageType2 == NetworkChannelMessage.MessageType.CopyLogReply)
                    {
                        return(new CopyLogReply(channel, array));
                    }
                    if (messageType2 == NetworkChannelMessage.MessageType.QueryLogRangeReply)
                    {
                        return(new QueryLogRangeReply(channel, array));
                    }
                    if (messageType2 == NetworkChannelMessage.MessageType.TestHealthReply)
                    {
                        return(new TestHealthReply(channel, array));
                    }
                }
            }
            else if (messageType2 <= NetworkChannelMessage.MessageType.CompressionReply)
            {
                if (messageType2 == NetworkChannelMessage.MessageType.SeedPageReaderRollLogFileReply)
                {
                    return(new SeedPageReaderRollLogFileReply(channel, array));
                }
                if (messageType2 == NetworkChannelMessage.MessageType.ProgressCiFileReply)
                {
                    return(new ProgressCiFileReply(channel, array));
                }
                if (messageType2 == NetworkChannelMessage.MessageType.CompressionReply)
                {
                    return(new NetworkChannelCompressionReply(channel, array));
                }
            }
            else
            {
                if (messageType2 == NetworkChannelMessage.MessageType.SeedPageReaderSinglePageReply)
                {
                    return(new SeedPageReaderSinglePageReply(channel, array));
                }
                if (messageType2 == NetworkChannelMessage.MessageType.SeedCiFileReply)
                {
                    return(new SeedCiFileReply(channel, array));
                }
                if (messageType2 == NetworkChannelMessage.MessageType.SeedPageReaderPageSizeReply)
                {
                    return(new SeedPageReaderPageSizeReply(channel, array));
                }
            }
IL_51C:
            throw new NetworkUnexpectedMessageException(channel.PartnerNodeName, string.Format("Unknown message type: 0x{0:X}", (int)messageType));
        }
コード例 #13
0
 // Token: 0x06000BAE RID: 2990 RVA: 0x00034320 File Offset: 0x00032520
 protected NetworkChannelDatabaseRequest(NetworkChannel channel, NetworkChannelMessage.MessageType msgType, byte[] packetContent) : base(channel, msgType, packetContent)
 {
     byte[] b = base.Packet.ExtractBytes(16);
     this.m_dbGuid = new Guid(b);
 }
コード例 #14
0
 // Token: 0x06000BAC RID: 2988 RVA: 0x000342F3 File Offset: 0x000324F3
 internal NetworkChannelDatabaseRequest(NetworkChannel channel, NetworkChannelMessage.MessageType msgType, Guid dbGuid) : base(channel, msgType)
 {
     this.m_dbGuid = dbGuid;
 }
コード例 #15
0
 // Token: 0x06002256 RID: 8790 RVA: 0x000A032A File Offset: 0x0009E52A
 internal NotifyEndOfLogReply(NetworkChannel channel, NetworkChannelMessage.MessageType msgType, byte[] packetContent) : base(channel, msgType, packetContent)
 {
     this.m_endOfLogGeneration = base.Packet.ExtractInt64();
     this.m_endOfLogUtc        = base.Packet.ExtractDateTime();
 }
コード例 #16
0
 // Token: 0x06002254 RID: 8788 RVA: 0x000A02E7 File Offset: 0x0009E4E7
 internal NotifyEndOfLogReply(NetworkChannel channel, NetworkChannelMessage.MessageType msgType, long endOfLogGen, DateTime utc) : base(channel, msgType)
 {
     this.m_endOfLogGeneration = endOfLogGen;
     this.m_endOfLogUtc        = utc;
 }