package ccf.session

import ccf.transport.TransportResponse

sealed abstract class SessionResponse {
  val transportResponse: TransportResponse
  val result: Either[Success, Failure] 
}

case class JoinResponse(transportResponse: TransportResponse, result: Either[Success, Failure]) extends SessionResponse

case class PartResponse(transportResponse: TransportResponse, result: Either[Success, Failure]) extends SessionResponse

case class InChannelResponse(transportResponse: TransportResponse, result: Either[Success, Failure]) extends SessionResponse

case class OperationContextResponse(transportResponse: TransportResponse, result: Either[Success, Failure]) extends SessionResponse

Add session response case class hierarchy
session: Add session response case class hierarchy

Reuses Result.scala generalized in previous commit.

Signed-off-by: Sami Rosendahl <b33c757bb777642ab0d59c699f8d5782929a814f@reaktor.fi>
Signed-off-by: Timo Mali <93a63fc11b7fc4c8615b3718bbdb07aef12d7334@reaktor.fi>
