private Option <IState> HandleHandshake(Record record) { var handshake = _reader.Read(record); if (handshake.HandshakeType != HandshakeType.Finished) { return(UnexpectedMessage()); } return(Option.Some <IState>(HandleClientFinishedState.New(ServiceProvider, (FinishedMessage)handshake))); }
private Option <IState> HandleHandshake(Record record) { var handshake = _reader.Read(record); if (handshake.HandshakeType != HandshakeType.ServerHello) { return(UnexpectedMessage()); } return(Option.Some <IState>(HandleServerHelloState.New(ServiceProvider, (ServerHelloMessage)handshake))); }
private Option <IState> HandleHandshake(Record record) { var handshake = _reader.Read(record); switch (handshake.HandshakeType) { case HandshakeType.ServerHelloDone: return(Option.Some <IState>(HandleServerHelloDoneState.New(ServiceProvider, (ServerHelloDoneMessage)handshake))); default: return(UnexpectedMessage()); } }
private Option <IState> HandleHandshake(Record record) { var handshake = _reader.Read(record); if (handshake.Type == RecordType.Alert) { var alert = AlertMessage.Read(record.Data); return(UnexpectedMessage(alert)); } if (handshake.HandshakeType != HandshakeType.ClientKeyExchange) { return(UnexpectedMessage()); } return(Option.Some <IState>(HandleClientKeyExchangeState.New(ServiceProvider, (ClientKeyExchangeMessage)handshake))); }