public override void Handle(ApplicationProtocolRequest request) { EnsureMagic(); ApplicationProtocolResponse response; if (!request.ProtocolName().Equals(_supportedApplicationProtocol.identifier().canonicalName())) { response = ApplicationProtocolResponse.NoProtocol; _channel.writeAndFlush(response); Decline(string.Format("Requested protocol {0} not supported", request.ProtocolName())); } else { Optional <Protocol_ApplicationProtocol> selected = _applicationProtocolRepository.select(request.ProtocolName(), SupportedVersionsFor(request)); if (selected.Present) { Protocol_ApplicationProtocol selectedProtocol = selected.get(); _protocolStackBuilder.application(selectedProtocol); response = new ApplicationProtocolResponse(SUCCESS, selectedProtocol.category(), selectedProtocol.implementation()); _channel.writeAndFlush(response); } else { response = ApplicationProtocolResponse.NoProtocol; _channel.writeAndFlush(response); Decline(string.Format("Do not support requested protocol {0} versions {1}", request.ProtocolName(), request.Versions())); } } }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: //ORIGINAL LINE: protected void decode(io.netty.channel.ChannelHandlerContext ctx, io.netty.buffer.ByteBuf in, java.util.List<Object> out) throws ClientHandshakeException protected internal override void Decode(ChannelHandlerContext ctx, ByteBuf @in, IList <object> @out) { int messageCode = @in.readInt(); switch (messageCode) { case InitialMagicMessage.MESSAGE_CODE: { string magic = StringMarshal.unmarshal(@in); @out.Add(new InitialMagicMessage(magic)); return; } case 0: { //JAVA TO C# CONVERTER TODO TASK: Method reference constructor syntax is not converted by Java to C# Converter: ApplicationProtocolResponse applicationProtocolResponse = DecodeProtocolResponse(ApplicationProtocolResponse::new, ByteBuf.readInt, @in); @out.Add(applicationProtocolResponse); return; } case 1: { //JAVA TO C# CONVERTER TODO TASK: Method reference constructor syntax is not converted by Java to C# Converter: ModifierProtocolResponse modifierProtocolResponse = DecodeProtocolResponse(ModifierProtocolResponse::new, StringMarshal.unmarshal, @in); @out.Add(modifierProtocolResponse); return; } case 2: { int statusCodeValue = @in.readInt(); Optional <StatusCode> statusCode = StatusCode.fromCodeValue(statusCodeValue); if (statusCode.Present) { @out.Add(new SwitchOverResponse(statusCode.get())); } else { // TODO } return; } default: // TODO return; } }
public override void Handle(ApplicationProtocolResponse applicationProtocolResponse) { EnsureMagic(); if (applicationProtocolResponse.StatusCode() != SUCCESS) { Decline("Unsuccessful application protocol response"); return; } Optional <Protocol_ApplicationProtocol> protocol = _applicationProtocolRepository.select(applicationProtocolResponse.ProtocolName(), applicationProtocolResponse.Version()); if (!protocol.Present) { ProtocolSelection <int, Protocol_ApplicationProtocol> knownApplicationProtocolVersions = _applicationProtocolRepository.getAll(_supportedApplicationProtocol.identifier(), _supportedApplicationProtocol.versions()); Decline(string.Format("Mismatch of application protocols between client and server: Server protocol {0} version {1:D}: Client protocol {2} versions {3}", applicationProtocolResponse.ProtocolName(), applicationProtocolResponse.Version(), knownApplicationProtocolVersions.Identifier(), knownApplicationProtocolVersions.Versions())); } else { _negotiatedApplicationProtocol = protocol.get(); SendSwitchOverRequestIfReady(); } }
public override void Handle(ApplicationProtocolResponse applicationProtocolResponse) { Out.writeInt(0); EncodeProtocolResponse(applicationProtocolResponse, ByteBuf.writeInt); }