blob: 5f26fda901d0279d7a51a7899bf7989c56881c0a [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.yoko.orb.OCI;
//
// IDL:orb.yoko.apache.org/OCI/TransportInfo:1.0
//
/**
*
* Information on an OCI Transport object. Objects of this type must
* be narrowed to a Transport information object for a concrete
* protocol implementation, for example to
* <code>OCI::IIOP::TransportInfo</code> in case the plug-in
* implements IIOP.
*
* @see Transport
*
**/
public interface TransportInfoOperations
{
//
// IDL:orb.yoko.apache.org/OCI/TransportInfo/id:1.0
//
/** The plugin id. */
String
id();
//
// IDL:orb.yoko.apache.org/OCI/TransportInfo/tag:1.0
//
/** The profile id tag. */
int
tag();
//
// IDL:orb.yoko.apache.org/OCI/TransportInfo/connector_info:1.0
//
//
// IDL:orb.yoko.apache.org/OCI/TransportInfo/acceptor_info:1.0
//
//
// IDL:orb.yoko.apache.org/OCI/TransportInfo/origin:1.0
//
/**
*
* The origin indicates whether the transport was originally
* created by a server side accept or a client side connect. This
* is information is required for connection lifecycle management
* in bidirectional communications. This information cannot be
* inferred by the connector_info and acceptor_info attributes as
* they may both be set in a bidirectional case.
*
* @return <code>CLIENT_SIDE</code> if transport was initially
* created as a client side connection. <code>SERVER_SIDE</code>
* if transport was initially created to handle incoming requests.
*
**/
short
origin();
//
// IDL:orb.yoko.apache.org/OCI/TransportInfo/describe:1.0
//
/**
*
* Returns a human readable description of the transport.
*
* @return The description.
*
**/
String
describe();
//
// IDL:orb.yoko.apache.org/OCI/TransportInfo/add_close_cb:1.0
//
//
// IDL:orb.yoko.apache.org/OCI/TransportInfo/remove_close_cb:1.0
//
//
// IDL:orb.yoko.apache.org/OCI/TransportInfo/get_service_contexts:1.0
//
/**
*
* Returns a sequence of service contexts for this transport based
* on the policies. Certain policies result in service contexts
* being applied to requests.
*
* @param policies The CORBA Policy list.
*
* @return The service contexts for the given polices.
*
**/
org.omg.IOP.ServiceContext[]
get_service_contexts(org.omg.CORBA.Policy[] policies);
//
// IDL:orb.yoko.apache.org/OCI/TransportInfo/handle_service_contexts:1.0
//
/**
*
* Handles service contexts that might be received during a
* request. This allows transports to change their internal state
* or behavior during their runtime.
*
* @param contexts The service context list
*
**/
void
handle_service_contexts(org.omg.IOP.ServiceContext[] contexts);
//
// IDL:orb.yoko.apache.org/OCI/TransportInfo/received_bidir_SCL:1.0
//
/**
*
* Queries whether this' transport has received a BiDir SCL in a
* request.
*
**/
boolean
received_bidir_SCL();
//
// IDL:orb.yoko.apache.org/OCI/TransportInfo/endpoint_alias_match:1.0
//
/**
*
* Uses the BiDir SCL information in this TransportInfo to check
* whether we can be used as a BiDir connection alias instead of
* creating a new connection with the information specified in the
* ConnectorInfo paramater
*
**/
boolean
endpoint_alias_match(ConnectorInfo connInfo);
}