github.com/artyom/thrift@v0.0.0-20130902103359-388840a05deb/processor_factory.go (about)

     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 thrift
    21  
    22  // The default processor factory just returns a singleton
    23  // instance.
    24  type TProcessorFactory interface {
    25  	GetProcessor(trans TTransport) TProcessor
    26  }
    27  
    28  type tProcessorFactory struct {
    29  	processor TProcessor
    30  }
    31  
    32  func NewTProcessorFactory(p TProcessor) TProcessorFactory {
    33  	return &tProcessorFactory{processor: p}
    34  }
    35  
    36  func (p *tProcessorFactory) GetProcessor(trans TTransport) TProcessor {
    37  	return p.processor
    38  }
    39  
    40  /**
    41   * The default processor factory just returns a singleton
    42   * instance.
    43   */
    44  type TProcessorFunctionFactory interface {
    45  	GetProcessorFunction(trans TTransport) TProcessorFunction
    46  }
    47  
    48  type tProcessorFunctionFactory struct {
    49  	processor TProcessorFunction
    50  }
    51  
    52  func NewTProcessorFunctionFactory(p TProcessorFunction) TProcessorFunctionFactory {
    53  	return &tProcessorFunctionFactory{processor: p}
    54  }
    55  
    56  func (p *tProcessorFunctionFactory) GetProcessorFunction(trans TTransport) TProcessorFunction {
    57  	return p.processor
    58  }