solar.service.dan
Class PipeConnector

java.lang.Object
  |
  +--solar.service.dan.PipeConnector
All Implemented Interfaces:
DanConstants, RpcConstants

class PipeConnector
extends java.lang.Object
implements RpcConstants, DanConstants

A pipe connector is responsible to set up a pipe between a data source and a data sink. It does not matter whether the two ends are both local or one is remote.

Version:
$Id: PipeConnector.java,v 1.3 2003/10/05 18:50:55 glchen Exp $
Author:
Guanling Chen

Field Summary
protected  DanService _dan
           
protected  FapService _fap
           
protected  Address _laddr
           
protected  NodeManager _nodeman
           
protected  RpcService _rpc
           
 
Fields inherited from interface solar.service.rpc.RpcConstants
RPC_BLOCK, RPC_HANDLER, RPC_REPLY, RPC_REQUEST, RPC_TIMEOUT
 
Fields inherited from interface solar.service.dan.DanConstants
DAN_INPORT, DAN_OUTPORT
 
Constructor Summary
PipeConnector(DanService dan)
           
 
Method Summary
private  java.lang.Object callRpc(Address addr, Request req)
          Invoke a RPC call with specified request.
private  Id makePipeId()
           
 void pconnect(int type, Address addr, Guid sguid, java.lang.String outport, Guid dguid, java.lang.String inport, boolean client)
          Connects a remote source to a local sink.
 void pconnect(int type, Guid sguid, java.lang.String outport, Address addr, Guid dguid, java.lang.String inport, boolean client)
          Connects a local source to a remote sink.
 void pconnect(int type, Guid sguid, java.lang.String outport, Guid dguid, java.lang.String inport)
          Connects a local source to a local sink.
 Id pconnect(Request request)
          Handle the pconnect request.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_dan

protected DanService _dan

_fap

protected FapService _fap

_rpc

protected RpcService _rpc

_laddr

protected Address _laddr

_nodeman

protected NodeManager _nodeman
Constructor Detail

PipeConnector

public PipeConnector(DanService dan)
Method Detail

makePipeId

private Id makePipeId()

pconnect

public Id pconnect(Request request)
            throws java.lang.Exception
Handle the pconnect request.

java.lang.Exception

pconnect

public void pconnect(int type,
                     Guid sguid,
                     java.lang.String outport,
                     Address addr,
                     Guid dguid,
                     java.lang.String inport,
                     boolean client)
              throws DanException
Connects a local source to a remote sink.

DanException

pconnect

public void pconnect(int type,
                     Address addr,
                     Guid sguid,
                     java.lang.String outport,
                     Guid dguid,
                     java.lang.String inport,
                     boolean client)
              throws DanException
Connects a remote source to a local sink.

DanException

pconnect

public void pconnect(int type,
                     Guid sguid,
                     java.lang.String outport,
                     Guid dguid,
                     java.lang.String inport)
              throws DanException
Connects a local source to a local sink.

DanException

callRpc

private java.lang.Object callRpc(Address addr,
                                 Request req)
                          throws RpcException
Invoke a RPC call with specified request.

RpcException