13c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller/* 23c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller * Copyright (C) 2014 Square, Inc. 33c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller * 43c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller * Licensed under the Apache License, Version 2.0 (the "License"); 53c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller * you may not use this file except in compliance with the License. 63c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller * You may obtain a copy of the License at 73c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller * 83c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller * http://www.apache.org/licenses/LICENSE-2.0 93c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller * 103c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller * Unless required by applicable law or agreed to in writing, software 113c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller * distributed under the License is distributed on an "AS IS" BASIS, 123c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 133c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller * See the License for the specific language governing permissions and 143c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller * limitations under the License. 153c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller */ 163c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fullerpackage com.squareup.okhttp.benchmarks; 173c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller 183c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fullerenum Client { 193c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller OkHttp { 203c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller @Override HttpClient create() { 213c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller return new OkHttp(); 223c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller } 233c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller }, 243c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller 253c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller OkHttpAsync { 263c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller @Override HttpClient create() { 273c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller return new OkHttpAsync(); 283c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller } 293c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller }, 303c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller 313c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller Apache { 323c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller @Override HttpClient create() { 333c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller return new ApacheHttpClient(); 343c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller } 353c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller }, 363c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller 373c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller UrlConnection { 383c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller @Override HttpClient create() { 393c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller return new UrlConnection(); 403c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller } 413c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller }, 423c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller 433c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller Netty { 443c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller @Override HttpClient create() { 453c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller return new NettyHttpClient(); 463c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller } 473c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller }; 483c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller 493c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller abstract HttpClient create(); 503c938a3f6b61ce5e2dba0d039b03fe73b89fd26cNeil Fuller} 51