package ccf.messaging

import ccf.operation.Operation

case class Message[T <: Operation]()
case class ConcurrentOperationMessage[T <: Operation](val op: T, val localMessage: Int, val expectedRemoteMessage: Int) extends Message[T]()
case class ChannelShutdown[T <: Operation](reason: String) extends Message[T]()

package ccf.messaging

import ccf.operation.Operation

case class Message[T <: Operation]()
case class ConcurrentOperationMessage[T <: Operation](val op: T, val localMessage: Int, val expectedRemoteMessage: Int) extends Message[T]()
case class ErrorMessage[T <: Operation](reason: String) extends Message[T]()
case class ChannelShutdown[T <: Operation](override val reason: String) extends ErrorMessage[T](reason)

Introduce a generic error message
Introduce a generic error message

In order to deliver custom error messages, we introduce a generic error
message which can be sent for various purposes. Also make the
ChannelShutdown extend from ErrorMessage.

Signed-off-by: Aki Saarinen <2c8035bb80cf98a391872dcbe797b269d759f6d9@reaktor.fi>
