C# 클래스 Brunet.Transport.WrapperEdgeListener

Wraps the underlying EdgeListener by listening for new edges and wrapping those edges. This class is thread-safe.
상속: EdgeListener
파일 보기 프로젝트 열기: pstjuste/brunet 1 사용 예제들

보호된 프로퍼티들

프로퍼티 타입 설명
_edge_to_ecw EdgeCreationWrapper>.Dictionary
_edge_to_wrapper_edge WrapperEdge>.Dictionary
_el EdgeListener
_sync object

공개 메소드들

메소드 설명
AddEdge ( EdgeCreationWrapper ecw ) : void

A new underlying edge has been created, this is used to add the edge to the EdgeListener for handling and to wrap the edge.

CreateEdgeTo ( TransportAddress ta, EdgeCreationCallback ecb ) : void

This wraps the underlying CreateEdgeTo using EdgeCreationWrappers

Start ( ) : void

This is passed to the underlying EdgeListener. By default we do nothing to this.

Stop ( ) : void

This is passed to the underlying EdgeListener. By default we do nothing to this.

UpdateLocalTAs ( Edge e, TransportAddress ta ) : void

This is passed tothe underlying EdgeListener. By default we do nothing to this.

UpdateRemoteTAs ( IList list, Edge e, TransportAddress ta ) : void

This is passed tothe underlying EdgeListener. By default we do nothing to this.

WrapperEdgeListener ( EdgeListener el ) : System

보호된 메소드들

메소드 설명
EdgeClose ( object o, EventArgs ea ) : void

This is called when one of our edges closes. This handles removing the state from the EdgeListener as necessary.

Finalize ( WrapperEdge wedge ) : void

When the edge is finally wrapped, this is called to finalize the adding of the edge to the edgelistner.

HandleEdgeCloseRequestEvent ( object el, EventArgs ea ) : void

This handles the RequestClose of the underlying edge.

The convoluted model for handling edge closes is this... I) UEL calls RequestClose 1) Triggers HandleEdgeCloseRequestEvent 2) If there is a wrapper edge, call RequestClose on it 3) If there isn't a wrapper edge, we are forced to simply close the edge and send a failed ecw II) A wrapper edge is responsible for calling edge close on the wrapped edge on edge close III) if an wrapped edge calls close, we are notified via an event, that will send a failed ecw or close the wrapper edge

HandleEdgeEvent ( object edge, EventArgs ea ) : void

A new edge has been created! This comes from the underlying EL's SendEdgeEvent.

SendEdgeEventHelper ( bool success, Edge e, Exception x ) : void

This is a EdgeCallback used when to handle the cases for inbound edes. This executes SendEdgeEvent for this WEL.

WrapEdge ( Edge edge ) : void

This method is usd to wrap the edge.

메소드 상세

AddEdge() 공개 메소드

A new underlying edge has been created, this is used to add the edge to the EdgeListener for handling and to wrap the edge.
public AddEdge ( EdgeCreationWrapper ecw ) : void
ecw EdgeCreationWrapper
리턴 void

CreateEdgeTo() 공개 메소드

This wraps the underlying CreateEdgeTo using EdgeCreationWrappers
public CreateEdgeTo ( TransportAddress ta, EdgeCreationCallback ecb ) : void
ta TransportAddress
ecb EdgeCreationCallback
리턴 void

EdgeClose() 보호된 메소드

This is called when one of our edges closes. This handles removing the state from the EdgeListener as necessary.
protected EdgeClose ( object o, EventArgs ea ) : void
o object
ea System.EventArgs
리턴 void

Finalize() 보호된 메소드

When the edge is finally wrapped, this is called to finalize the adding of the edge to the edgelistner.
protected Finalize ( WrapperEdge wedge ) : void
wedge WrapperEdge
리턴 void

HandleEdgeCloseRequestEvent() 보호된 메소드

This handles the RequestClose of the underlying edge.
The convoluted model for handling edge closes is this... I) UEL calls RequestClose 1) Triggers HandleEdgeCloseRequestEvent 2) If there is a wrapper edge, call RequestClose on it 3) If there isn't a wrapper edge, we are forced to simply close the edge and send a failed ecw II) A wrapper edge is responsible for calling edge close on the wrapped edge on edge close III) if an wrapped edge calls close, we are notified via an event, that will send a failed ecw or close the wrapper edge
protected HandleEdgeCloseRequestEvent ( object el, EventArgs ea ) : void
el object
ea System.EventArgs
리턴 void

HandleEdgeEvent() 보호된 메소드

A new edge has been created! This comes from the underlying EL's SendEdgeEvent.
protected HandleEdgeEvent ( object edge, EventArgs ea ) : void
edge object
ea System.EventArgs
리턴 void

SendEdgeEventHelper() 보호된 메소드

This is a EdgeCallback used when to handle the cases for inbound edes. This executes SendEdgeEvent for this WEL.
protected SendEdgeEventHelper ( bool success, Edge e, Exception x ) : void
success bool
e Edge
x System.Exception
리턴 void

Start() 공개 메소드

This is passed to the underlying EdgeListener. By default we do nothing to this.
public Start ( ) : void
리턴 void

Stop() 공개 메소드

This is passed to the underlying EdgeListener. By default we do nothing to this.
public Stop ( ) : void
리턴 void

UpdateLocalTAs() 공개 메소드

This is passed tothe underlying EdgeListener. By default we do nothing to this.
public UpdateLocalTAs ( Edge e, TransportAddress ta ) : void
e Edge
ta TransportAddress
리턴 void

UpdateRemoteTAs() 공개 메소드

This is passed tothe underlying EdgeListener. By default we do nothing to this.
public UpdateRemoteTAs ( IList list, Edge e, TransportAddress ta ) : void
list IList
e Edge
ta TransportAddress
리턴 void

WrapEdge() 보호된 메소드

This method is usd to wrap the edge.
protected WrapEdge ( Edge edge ) : void
edge Edge
리턴 void

WrapperEdgeListener() 공개 메소드

public WrapperEdgeListener ( EdgeListener el ) : System
el EdgeListener
리턴 System

프로퍼티 상세

_edge_to_ecw 보호되어 있는 프로퍼티

protected Dictionary _edge_to_ecw
리턴 EdgeCreationWrapper>.Dictionary

_edge_to_wrapper_edge 보호되어 있는 프로퍼티

protected Dictionary _edge_to_wrapper_edge
리턴 WrapperEdge>.Dictionary

_el 보호되어 있는 프로퍼티

protected EdgeListener,Brunet.Transport _el
리턴 EdgeListener

_sync 보호되어 있는 프로퍼티

protected object _sync
리턴 object