ec
03/13/2019, 9:17 PMfun fetchModuleInfo(): Either<DomainError, Response.ModuleInfo> {
val req = Request(RequestType.DISCOVER)
return Try {
val resp = nc.request(module, req.protoMarshal()).get(2, TimeUnit.SECONDS)
return when (val msg = Response.protoUnmarshal(resp.data).type) {
is Type.ModuleInfo -> Either.right(msg.moduleInfo)
is Type.Error -> Either.left(mapError(msg.error))
else -> Either.left(DomainError.WrongReturnTypeError("Fetch Module Wrong Return Type!"))
}
}.toEither { mapException(it, "Fetch Module") }
}