Merge pull request #1569 from magik6k/patch-netcards

Fix network card visibility in rack
This commit is contained in:
Florian "Sangar" Nücke 2015-12-16 20:18:12 +01:00
commit aa2a46cbfa

View File

@ -18,7 +18,12 @@ import scala.collection.convert.WrapAsScala._
import scala.collection.mutable
class NetworkCard(val host: EnvironmentHost) extends prefab.ManagedEnvironment with RackBusConnectable {
override val node = Network.newNode(this, Visibility.Network).
protected val visibility = host match {
case _: Rack => Visibility.Neighbors
case _ => Visibility.Network
}
override val node = Network.newNode(this, visibility).
withComponent("modem", Visibility.Neighbors).
create()
@ -99,14 +104,14 @@ class NetworkCard(val host: EnvironmentHost) extends prefab.ManagedEnvironment w
result(oldMessage.orNull, oldFuzzy)
}
protected def doSend(packet: Packet) = host match {
case _: Rack => node.sendToNeighbors("network.message", packet)
case _ => node.sendToReachable("network.message", packet)
protected def doSend(packet: Packet) = visibility match {
case Visibility.Neighbors => node.sendToNeighbors("network.message", packet)
case Visibility.Network => node.sendToReachable("network.message", packet)
}
protected def doBroadcast(packet: Packet) = host match {
case _: Rack => node.sendToNeighbors("network.message", packet)
case _ => node.sendToReachable("network.message", packet)
protected def doBroadcast(packet: Packet) = visibility match {
case Visibility.Neighbors => node.sendToNeighbors("network.message", packet)
case Visibility.Network => node.sendToReachable("network.message", packet)
}
// ----------------------------------------------------------------------- //