void GlowReader_KeepAliveRequestReceived(object sender, FramingReader.KeepAliveRequestReceivedArgs e) { TcpClient tcpClient; State = GlowEndPointState.Connected; lock(_sync) tcpClient = _tcpClient; if(tcpClient != null) tcpClient.Client.Send(e.Response, e.ResponseLength, SocketFlags.None); }
void GlowReader_KeepAliveRequestReceived(object sender, FramingReader.KeepAliveRequestReceivedArgs e) { Socket socket; lock(_sync) socket = Socket; if(socket != null) socket.Send(e.Response, e.ResponseLength, SocketFlags.None); }
void HandlePackageReceived(object sender, FramingReader.PackageReceivedArgs e) { var dtd = e.Dtd; if(e.MessageId == ProtocolParameters.MessageId && e.Command == ProtocolParameters.Commands.Payload) { if(dtd == Dtd.Glow) { var appBytes = e.ApplicationBytes; if(appBytes != null) { var version = 0; version |= appBytes[0] << 0; version |= appBytes[1] << 8; if(version != GlowDtd.Version) { var message = String.Format("Glow DTD version mismatch: found version {0}, expected {1}!", UshortVersionToString((ushort)version), UshortVersionToString(GlowDtd.Version)); OnError(new ErrorArgs(1, message)); } } else { OnError(new ErrorArgs(2, "Glow DTD version mismatch: no version information received!")); } } else { var message = String.Format("DTD mismatch: found '{0}', expected '{1}'", dtd, Dtd.Glow); OnError(new ErrorArgs(3, message)); } } }