quic_encrypter.cc revision 4e180b6a0b4720a9b8e9e959a882386f690f08ff
1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "net/quic/crypto/quic_encrypter.h"
6
7#include "net/quic/crypto/aes_128_gcm_12_encrypter.h"
8#include "net/quic/crypto/null_encrypter.h"
9
10namespace net {
11
12// static
13QuicEncrypter* QuicEncrypter::Create(QuicTag algorithm) {
14  switch (algorithm) {
15    case kAESG:
16      return new Aes128Gcm12Encrypter();
17    case kNULL:
18      return new NullEncrypter(false);
19    case kNULN:
20      return new NullEncrypter(true);
21    default:
22      LOG(FATAL) << "Unsupported algorithm: " << algorithm;
23      return NULL;
24  }
25}
26
27}  // namespace net
28