Skip to content

Commit

Permalink
Merge pull request #22 from input-output-hk/DeccoUpgrade
Browse files Browse the repository at this point in the history
A-764 Decco upgrade
  • Loading branch information
Alexis Hernandez committed May 24, 2019
2 parents 5ecdd48 + f79bb2c commit 2358186
Show file tree
Hide file tree
Showing 12 changed files with 28 additions and 26 deletions.
16 changes: 12 additions & 4 deletions WORKSPACE
@@ -1,12 +1,20 @@
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository")

rules_scala_version = "b537bddc58a77318b34165812a0311ef52806318"
rules_scala_version = "ca5a7acff4ff630f68f58b8e01e8c25dbf908fb7"

http_archive(
name = "io_bazel_rules_scala",
strip_prefix = "rules_scala-%s" % rules_scala_version,
url = "https://github.com/bazelbuild/rules_scala/archive/%s.zip"%rules_scala_version,
type = "zip",
url = "https://github.com/bazelbuild/rules_scala/archive/%s.zip" % rules_scala_version,
strip_prefix= "rules_scala-%s" % rules_scala_version
)

http_archive(
name = "com_google_protobuf",
sha256 = "9510dd2afc29e7245e9e884336f848c8a6600a14ae726adb6befdb4f786f0be2",
urls = ["https://github.com/protocolbuffers/protobuf/archive/v3.6.1.3.zip"],
strip_prefix = "protobuf-3.6.1.3",
)

load("@io_bazel_rules_scala//scala:scala.bzl", "scala_repositories")
Expand All @@ -32,6 +40,6 @@ load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository")

git_repository(
name = "decco",
commit = "4846d9d9c25eda44cd71e389b10765408c9851d9",
commit = "a159c16b5cd2dffe1e5c34e333d6fb74d3c49e1b",
remote = "https://github.com/input-output-hk/decco.git",
)
2 changes: 1 addition & 1 deletion dependencies.yaml
Expand Up @@ -8,7 +8,7 @@ dependencies:
lang: scala
io.netty:
netty-all:
version: "4.1.28.Final"
version: "4.1.31.Final"
lang: java
com.chuusai:
shapeless:
Expand Down
2 changes: 1 addition & 1 deletion deps
Expand Up @@ -3,7 +3,7 @@
ROOT=`pwd`

BAZEL_DEPS_REPO="https://github.com/input-output-hk/bazel-deps.git"
BAZEL_DEPS_COMMIT="b9baec69bdbaae53743a7c0b69828a9c66f6a624"
BAZEL_DEPS_COMMIT="c9f440d823c987ce6ad86faf10fd53ecf6d9bbc7"
IDENTIFIER="$BAZEL_DEPS_REPO|$BAZEL_DEPS_COMMIT"

BAZEL_DEPS="/tmp/$(echo "$IDENTIFIER" | sha256sum | awk '{ print $1 }')/.bazel-deps/"
Expand Down
2 changes: 1 addition & 1 deletion docker/installBazel
@@ -1,6 +1,6 @@
#!/bin/bash

export BAZEL_VERSION=0.20.0
export BAZEL_VERSION=0.24.0

apt-get update && apt-get install -y --no-install-recommends git ca-certificates curl gnupg \
&& apt-get install -y --no-install-recommends bash-completion g++ unzip zlib1g-dev \
Expand Down
4 changes: 3 additions & 1 deletion src/io/iohk/scalanet/BUILD
Expand Up @@ -8,7 +8,8 @@ scala_library(
"com.chuusai:shapeless%",
"org.slf4j:slf4j-api",
],
deps = ["@decco//src/io/iohk/decco"],
deps = ["@decco//src/io/iohk/decco",
"@decco//src/io/iohk/decco/auto",],
)

scala_test(
Expand All @@ -23,5 +24,6 @@ scala_test(
deps = [
"scalanet",
"@decco//src/io/iohk/decco",
"@decco//src/io/iohk/decco/auto",
],
)
3 changes: 0 additions & 3 deletions src/io/iohk/scalanet/peergroup/SimplePeerGroup.scala
Expand Up @@ -33,9 +33,6 @@ class SimplePeerGroup[A, AA, M](
private val routingTable: mutable.Map[A, AA] = new ConcurrentHashMap[A, AA]().asScala
private val multiCastTable: mutable.Map[A, List[AA]] = new ConcurrentHashMap[A, List[AA]]().asScala

private implicit val apc: PartialCodec[A] = aCodec.partialCodec
private implicit val aapc: PartialCodec[AA] = aaCodec.partialCodec

override def processAddress: A = config.processAddress

override def client(to: A): Task[Channel[A, M]] = {
Expand Down
3 changes: 0 additions & 3 deletions src/io/iohk/scalanet/peergroup/SimplestPeerGroup.scala
Expand Up @@ -27,9 +27,6 @@ class SimplestPeerGroup[A, AA, M](

private val log = LoggerFactory.getLogger(getClass)

private implicit val apc: PartialCodec[A] = aCodec.partialCodec
private implicit val aapc: PartialCodec[AA] = aaCodec.partialCodec

override def processAddress: A = config.processAddress

override def client(to: A): Task[Channel[A, M]] =
Expand Down
9 changes: 5 additions & 4 deletions src/io/iohk/scalanet/peergroup/TCPPeerGroup.scala
Expand Up @@ -2,7 +2,6 @@ package io.iohk.scalanet.peergroup

import java.net.{InetAddress, InetSocketAddress}

import io.iohk.decco.{Codec, DecodeFailure}
import io.iohk.scalanet.peergroup.PeerGroup.TerminalPeerGroup
import io.iohk.scalanet.peergroup.TCPPeerGroup._
import io.netty.bootstrap.{Bootstrap, ServerBootstrap}
Expand All @@ -11,14 +10,15 @@ import io.netty.channel._
import io.netty.channel.nio.NioEventLoopGroup
import io.netty.channel.socket.SocketChannel
import io.netty.channel.socket.nio.{NioServerSocketChannel, NioSocketChannel}
import io.netty.handler.codec.{LengthFieldBasedFrameDecoder, LengthFieldPrepender}
import io.netty.handler.codec.bytes.ByteArrayEncoder
import io.netty.handler.codec.{LengthFieldBasedFrameDecoder, LengthFieldPrepender}
import io.netty.util
import monix.eval.Task
import monix.reactive.Observable
import monix.reactive.subjects.{PublishSubject, ReplaySubject, Subject}
import org.slf4j.LoggerFactory

import io.iohk.decco.BufferInstantiator.global.HeapByteBuffer
import io.iohk.decco._
import scala.concurrent.Promise
import scala.util.Success

Expand Down Expand Up @@ -204,7 +204,8 @@ object TCPPeerGroup {
messageSubject.onComplete()

override def channelRead(ctx: ChannelHandlerContext, msg: Any): Unit = {
val messageE: Either[DecodeFailure, M] = codec.decode(msg.asInstanceOf[ByteBuf].nioBuffer().asReadOnlyBuffer())

val messageE: Either[Codec.Failure, M] = codec.decode(msg.asInstanceOf[ByteBuf].nioBuffer().asReadOnlyBuffer())
log.debug(
s"Processing inbound message from remote address ${ctx.channel().remoteAddress()} " +
s"to local address ${ctx.channel().localAddress()}, ${messageE.getOrElse("decode failed")}"
Expand Down
7 changes: 4 additions & 3 deletions src/io/iohk/scalanet/peergroup/UDPPeerGroup.scala
Expand Up @@ -3,8 +3,9 @@ package io.iohk.scalanet.peergroup
import java.net.InetSocketAddress
import java.nio.ByteBuffer
import java.util.concurrent.ConcurrentHashMap
import io.iohk.decco.BufferInstantiator.global.DirectByteBuffer

import io.iohk.decco.{Codec, DecodeFailure}
import io.iohk.decco.Codec
import io.iohk.scalanet.peergroup.PeerGroup.TerminalPeerGroup
import io.iohk.scalanet.peergroup.UDPPeerGroup._
import io.netty.bootstrap.Bootstrap
Expand Down Expand Up @@ -57,7 +58,7 @@ class UDPPeerGroup[M](val config: Config)(implicit codec: Codec[M]) extends Term
val datagram = msg.asInstanceOf[DatagramPacket]
val remoteAddress = datagram.sender()
val localAddress = datagram.recipient()
val messageE: Either[DecodeFailure, M] = codec.decode(datagram.content().nioBuffer().asReadOnlyBuffer())
val messageE: Either[Codec.Failure, M] = codec.decode(datagram.content().nioBuffer().asReadOnlyBuffer())
log.info(s"Client channel read message $messageE with remote $remoteAddress and local $localAddress")

val channelId = getChannelId(remoteAddress, localAddress)
Expand Down Expand Up @@ -88,7 +89,7 @@ class UDPPeerGroup[M](val config: Config)(implicit codec: Codec[M]) extends Term
val remoteAddress = datagram.sender()
val localAddress = processAddress.inetSocketAddress //datagram.recipient()

val messageE: Either[DecodeFailure, M] = codec.decode(datagram.content().nioBuffer().asReadOnlyBuffer())
val messageE: Either[Codec.Failure, M] = codec.decode(datagram.content().nioBuffer().asReadOnlyBuffer())

log.debug(s"Server read $messageE")
val nettyChannel: NioDatagramChannel = ctx.channel().asInstanceOf[NioDatagramChannel]
Expand Down
1 change: 0 additions & 1 deletion src/io/iohk/scalanet/test/NetUtils.scala
Expand Up @@ -10,7 +10,6 @@ import monix.execution.Scheduler
import scala.concurrent.Await
import scala.concurrent.duration._
import scala.util.Random

object NetUtils {

def aRandomAddress(): InetSocketAddress = {
Expand Down
@@ -1,18 +1,16 @@
package io.iohk.scalanet.peergroup

import io.iohk.decco.auto._
import io.iohk.scalanet.NetUtils._
import io.iohk.scalanet.peergroup.SimplePeerGroup.ControlMessage
import org.scalatest.FlatSpec
import org.scalatest.Matchers._
import org.scalatest.concurrent.ScalaFutures._
import monix.execution.Scheduler.Implicits.global
import org.scalatest.concurrent.ScalaFutures

import io.iohk.decco.auto._
import scala.concurrent.Future
import scala.concurrent.duration._
import io.iohk.scalanet.TaskValues._

import scala.util.Random

class SimplePeerGroupSpec extends FlatSpec {
Expand Down
1 change: 0 additions & 1 deletion src/io/iohk/scalanet/test/peergroup/TCPPeerGroupSpec.scala
Expand Up @@ -12,7 +12,6 @@ import org.scalatest.{BeforeAndAfterAll, FlatSpec}
import scala.concurrent.Future
import scala.concurrent.duration._
import scala.util.Random

class TCPPeerGroupSpec extends FlatSpec with BeforeAndAfterAll {

implicit val patienceConfig: ScalaFutures.PatienceConfig = PatienceConfig(5 seconds)
Expand Down

0 comments on commit 2358186

Please sign in to comment.