View Javadoc

    1   /*
    2    *  Licensed to the Apache Software Foundation (ASF) under one
    3    *  or more contributor license agreements.  See the NOTICE file
    4    *  distributed with this work for additional information
    5    *  regarding copyright ownership.  The ASF licenses this file
    6    *  to you under the Apache License, Version 2.0 (the
    7    *  "License"); you may not use this file except in compliance
    8    *  with the License.  You may obtain a copy of the License at
    9    *
    10   *    http://www.apache.org/licenses/LICENSE-2.0
    11   *
    12   *  Unless required by applicable law or agreed to in writing,
    13   *  software distributed under the License is distributed on an
    14   *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    15   *  KIND, either express or implied.  See the License for the
    16   *  specific language governing permissions and limitations
    17   *  under the License.
    18   *
    19   */
    20  package org.apache.mina.core;
    21
    22  import org.apache.mina.core.nio.tcp.Mina3TcpBenchmarkServer;
    23  import org.apache.mina.core.nio.tcp.Netty4TcpBenchmarkServer;
    24  import org.apache.mina.core.nio.udp.Mina3UdpBenchmarkServer;
    25  import org.apache.mina.core.nio.udp.Netty4UdpBenchmarkServer;
    26
    27  /**
    28   * @author <a href="http://mina.apache.org">Apache MINA Project</a>
    29   */
    30  public class BenchmarkServerFactory implements BenchmarkFactory<BenchmarkServer> {
    31
    32      public static final BenchmarkServerFactory INSTANCE = new BenchmarkServerFactory();
    33
    34      /**
    35       * {@inheritedDoc}
    36       */
    37      public BenchmarkServer get(org.apache.mina.core.BenchmarkFactory.Type type) {
    38          switch (type) {
    39          case Mina3_tcp:
    40              return new Mina3TcpBenchmarkServer();
    41          case Mina3_udp:
    42              return new Mina3UdpBenchmarkServer();
    43          case Netty4_tcp:
    44              return new Netty4TcpBenchmarkServer();
    45          case Netty4_udp:
    46              return new Netty4UdpBenchmarkServer();
    47          default:
    48              throw new IllegalArgumentException("Invalid type " + type);
    49          }
    50      }
    51  }