15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 25d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "next_proto.h" 62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace net { 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 95d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)NextProtoVector NextProtosHttpOnly() { 105d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) NextProtoVector next_protos; 115d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) next_protos.push_back(kProtoHTTP11); 125d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return next_protos; 135d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} 145d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 155d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)NextProtoVector NextProtosDefaults() { 165d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) NextProtoVector next_protos; 175d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) next_protos.push_back(kProtoHTTP11); 185d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) next_protos.push_back(kProtoSPDY3); 195d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) next_protos.push_back(kProtoSPDY31); 205d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return next_protos; 215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} 225d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 235d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)NextProtoVector NextProtosWithSpdyAndQuic(bool spdy_enabled, 245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) bool quic_enabled) { 255d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) NextProtoVector next_protos; 265d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) next_protos.push_back(kProtoHTTP11); 275d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) if (quic_enabled) 285d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) next_protos.push_back(kProtoQUIC1SPDY3); 295d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) if (spdy_enabled) { 305d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) next_protos.push_back(kProtoSPDY3); 315d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) next_protos.push_back(kProtoSPDY31); 325d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) } 335d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return next_protos; 345d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} 355d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 365d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)NextProtoVector NextProtosSpdy3() { 375d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) NextProtoVector next_protos; 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) next_protos.push_back(kProtoHTTP11); 395d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) next_protos.push_back(kProtoQUIC1SPDY3); 405d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) next_protos.push_back(kProtoSPDY3); 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return next_protos; 425d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 445d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)NextProtoVector NextProtosSpdy31() { 455d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) NextProtoVector next_protos; 465d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) next_protos.push_back(kProtoHTTP11); 475d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) next_protos.push_back(kProtoQUIC1SPDY3); 485d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) next_protos.push_back(kProtoSPDY3); 495d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) next_protos.push_back(kProtoSPDY31); 505d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return next_protos; 515d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} 525d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)NextProtoVector NextProtosSpdy31WithSpdy2() { 545d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) NextProtoVector next_protos; 555d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) next_protos.push_back(kProtoHTTP11); 565d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) next_protos.push_back(kProtoQUIC1SPDY3); 575d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) next_protos.push_back(kProtoDeprecatedSPDY2); 585d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) next_protos.push_back(kProtoSPDY3); 595d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) next_protos.push_back(kProtoSPDY31); 605d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return next_protos; 615d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} 625d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 635d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)NextProtoVector NextProtosSpdy4Http2() { 645d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) NextProtoVector next_protos; 655d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) next_protos.push_back(kProtoHTTP11); 665d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) next_protos.push_back(kProtoQUIC1SPDY3); 675d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) next_protos.push_back(kProtoSPDY3); 685d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) next_protos.push_back(kProtoSPDY31); 695d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) next_protos.push_back(kProtoSPDY4); 705d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return next_protos; 715d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} 725d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 735d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} // namespace net 745d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)