// Отвечает на получение сообщения. protected void Answer(Message message) { var data = new Message.DataS(++maxID, workingConnectors, Message.DataS.Types.Got, message); var path = new LinkedList <Connector>(); path.AddFirst(message.FindPrevious(this)); path.AddFirst(this); var answer = new Message(data, path); Send(answer); }
// Возвращает сообщение по типу и получателю. Если до получателя не добраться, возвращает null. protected Message CreateMessage(Message.DataS.Types type, Connector receiver) { var path = GetPath(receiver); Message.DataS data = new Message.DataS(++maxID, workingConnectors, type); if (path == null) { return(null); } else { return(new Message(new Message.DataS(++maxID, workingConnectors, type), path)); } }