예제 #1
0
 public FQEntry(FunctionEdge e, BU.ICopyable p) { Edge = e; P = p; }
예제 #2
0
    public void HandleEdgeSend(Edge from, BU.ICopyable p) {
      FunctionEdgeListener el = null;
      FunctionEdge fe_from = (FunctionEdge)from;
      FunctionEdge fe_to = fe_from.Partner;
      if( fe_to != null ) {
        el = (FunctionEdgeListener)_listener_map[ fe_to.ListenerId ];
        try {
	  el._queue.Enqueue(new FQEntry(fe_to, p));
        }
        catch(System.InvalidOperationException) {
          //The queue other queue is closed:
          //Just throw the packet away.  This simulates UDP, which is giving less information
          //to the local node.
        }
      }
    }