Brunet.Relay.RelayEdgeListener.HandleEdgeSend C# (CSharp) Метод

HandleEdgeSend() публичный Метод

Used to send data over the tunnel via forwarding senders using a randomly selected peer from our overlap list.
public HandleEdgeSend ( Edge from, ICopyable data ) : void
from Edge
data ICopyable
Результат void
    public void HandleEdgeSend(Edge from, ICopyable data)
    {
      RelayEdge te = from as RelayEdge;
      Connection forwarder = te.NextForwarder;

      if(te.RemoteID == -1) {
        Address target = (te.RemoteTA as RelayTransportAddress).Target;
        ISender sender = new ForwardingSender(_node, forwarder.Address, target);
        sender.Send(new CopyList(PType.Protocol.Relaying, te.MId, data));
      } else {
        try {
          forwarder.State.Edge.Send(new CopyList(te.Header, te.MId, data));
        } catch {
          // We could be sending aon a closed edge... we could deal with this
          // better, but let's just let the system take its natural course.
        }
      }
    }