And now akka-core builds!

This commit is contained in:
Viktor Klang 2010-02-21 16:39:32 +01:00
parent 787e7e45b7
commit a16c6da3b7
10 changed files with 47 additions and 33 deletions

View file

@ -138,7 +138,7 @@ object DataFlow {
"Access by index other than '0' is not supported by DataFlowStream")
}
override def elements: Iterator[T] = new Iterator[T] {
def iterator: Iterator[T] = new Iterator[T] {
private val iter = queue.iterator
def hasNext: Boolean = iter.hasNext
def next: T = { val ref = iter.next; ref() }

View file

@ -46,7 +46,7 @@ trait PersistentDataStructure
*/
@serializable
final class HashTrie[K, +V] private (root: Node[K, V]) extends Map[K, V] with PersistentDataStructure {
lazy val size = root.size
override lazy val size = root.size
def this() = this(new EmptyNode[K])
@ -56,11 +56,11 @@ final class HashTrie[K, +V] private (root: Node[K, V]) extends Map[K, V] with Pe
case (k, v) => update(k, v)
}
def update[A >: V](key: K, value: A) = new HashTrie(root(0, key, key.hashCode) = value)
override def update[A >: V](key: K, value: A) = new HashTrie(root(0, key, key.hashCode) = value)
def -(key: K) = new HashTrie(root.remove(key, key.hashCode))
def elements = root.elements
def iterator = root.elements
def empty[A]: HashTrie[K, A] = new HashTrie(new EmptyNode[K])
@ -152,7 +152,7 @@ private[collection] class CollisionNode[K, +V](val hash: Int, bucket: List[(K, V
} yield v
}
def update[A >: V](shift: Int, key: K, hash: Int, value: A): Node[K, A] = {
override def update[A >: V](shift: Int, key: K, hash: Int, value: A): Node[K, A] = {
if (this.hash == hash) {
var found = false
@ -169,7 +169,7 @@ private[collection] class CollisionNode[K, +V](val hash: Int, bucket: List[(K, V
}
}
def remove(key: K, hash: Int) = {
override def remove(key: K, hash: Int) = {
val newBucket = bucket filter { case (k, _) => k != key }
if (newBucket.length == bucket.length) this else {
@ -180,6 +180,8 @@ private[collection] class CollisionNode[K, +V](val hash: Int, bucket: List[(K, V
}
}
def iterator = bucket.elements
def elements = bucket.elements
override def toString = "CollisionNode(" + bucket.toString + ")"
@ -202,7 +204,7 @@ private[collection] class BitmappedNode[K, +V](shift: Int)(table: Array[Node[K,
if ((bits & mask) == mask) table(i)(key, hash) else None
}
def update[A >: V](levelShift: Int, key: K, hash: Int, value: A): Node[K, A] = {
override def update[A >: V](levelShift: Int, key: K, hash: Int, value: A): Node[K, A] = {
val i = (hash >>> shift) & 0x01f
val mask = 1 << i

View file

@ -180,7 +180,12 @@ class TransactionalMap[K, V] extends Transactional with scala.collection.mutable
def +=(key: K, value: V) = put(key, value)
def remove(key: K) = {
def +=(kv: (K, V)) = {
put(kv._1,kv._2)
this
}
override def remove(key: K) = {
val map = ref.get.get
val oldValue = map.get(key)
ref.swap(ref.get.get - key)
@ -196,19 +201,21 @@ class TransactionalMap[K, V] extends Transactional with scala.collection.mutable
oldValue
}
def update(key: K, value: V) = {
override def update(key: K, value: V) = {
val map = ref.get.get
val oldValue = map.get(key)
ref.swap(map.update(key, value))
}
def elements: Iterator[(K, V)] = ref.get.get.elements
def iterator = ref.get.get.iterator
override def elements: Iterator[(K, V)] = ref.get.get.elements
override def contains(key: K): Boolean = ref.get.get.contains(key)
override def clear = ref.swap(new HashTrie[K, V])
def size: Int = ref.get.get.size
override def size: Int = ref.get.get.size
override def hashCode: Int = System.identityHashCode(this);

View file

@ -104,7 +104,7 @@ class Vector[+T] private (val length: Int, shift: Int, root: Array[AnyRef], tail
ret
}
override def ++[A >: T](other: Iterable[A]) = other.foldLeft(this:Vector[A]) { _ + _ }
def ++[A >: T](other: Iterable[A]) = other.foldLeft(this:Vector[A]) { _ + _ }
def +[A >: T](obj: A): Vector[A] = {
if (tail.length < 32) {
@ -224,7 +224,7 @@ class Vector[+T] private (val length: Int, shift: Int, root: Array[AnyRef], tail
back
}
override def flatMap[A](f: (T)=>Iterable[A]): Vector[A] = {
def flatMap[A](f: (T)=>Iterable[A]): Vector[A] = {
var back = new Vector[A]
var i = 0
@ -236,7 +236,7 @@ class Vector[+T] private (val length: Int, shift: Int, root: Array[AnyRef], tail
back
}
override def map[A](f: (T)=>A): Vector[A] = {
def map[A](f: (T)=>A): Vector[A] = {
var back = new Vector[A]
var i = 0
@ -254,7 +254,7 @@ class Vector[+T] private (val length: Int, shift: Int, root: Array[AnyRef], tail
override def apply(i: Int) = outer.apply(length - i - 1)
}
override def subseq(from: Int, end: Int) = subVector(from, end)
def subseq(from: Int, end: Int) = subVector(from, end)
def subVector(from: Int, end: Int): Vector[T] = {
if (from < 0) {

View file

@ -49,7 +49,7 @@ class RemoteActorSpecActorAsyncSender extends Actor {
class ClientInitiatedRemoteActorTest extends JUnitSuite {
import Actor.Sender.Self
akka.Config.config
se.scalablesolutions.akka.Config.config
val HOSTNAME = "localhost"
val PORT1 = 9990

View file

@ -16,9 +16,9 @@ case object NotifySupervisorExit extends TestMessage
case class User(val usernamePassword: Tuple2[String, String],
val email: String,
val age: Int)
extends Serializable.SBinary[User] {
/*extends Serializable.SBinary[User]*/ {
def this() = this(null, null, 0)
import sbinary.DefaultProtocol._
/* import sbinary.DefaultProtocol._
implicit object UserFormat extends Format[User] {
def reads(in : Input) = User(
read[Tuple2[String, String]](in),
@ -31,7 +31,7 @@ case class User(val usernamePassword: Tuple2[String, String],
}
}
def fromBytes(bytes: Array[Byte]) = fromByteArray[User](bytes)
def toBytes: Array[Byte] = toByteArray(this)
def toBytes: Array[Byte] = toByteArray(this)*/
}
case object RemotePing extends TestMessage

View file

@ -27,16 +27,16 @@ class PerformanceTest extends JUnitSuite {
case object BLUE extends Colour
case object FADED extends Colour
val colours = Array(BLUE, RED, YELLOW)
val colours = Array[Colour](BLUE, RED, YELLOW)
case class Meet(from: Actor, colour: Colour)
case class Change(colour: Colour)
case class MeetingCount(count: int)
case class MeetingCount(count: Int)
case class ExitActor(actor: Actor, reason: String)
var totalTime = 0L
class Mall(var nrMeets: int, numChameneos: int) extends Actor {
class Mall(var nrMeets: Int, numChameneos: Int) extends Actor {
var waitingChameneo: Option[Actor] = None
var sumMeetings = 0
var numFaded = 0
@ -86,7 +86,7 @@ class PerformanceTest extends JUnitSuite {
}
}
case class Chameneo(var mall: Mall, var colour: Colour, cid: int) extends Actor {
case class Chameneo(var mall: Mall, var colour: Colour, cid: Int) extends Actor {
var meetings = 0
override def start = {
@ -156,14 +156,14 @@ class PerformanceTest extends JUnitSuite {
case object BLUE extends Colour
case object FADED extends Colour
val colours = Array(BLUE, RED, YELLOW)
val colours = Array[Colour](BLUE, RED, YELLOW)
case class Meet(colour: Colour)
case class Change(colour: Colour)
case class MeetingCount(count: int)
case class MeetingCount(count: Int)
class Mall(var n: int, numChameneos: int) extends Actor {
class Mall(var n: Int, numChameneos: Int) extends Actor {
var waitingChameneo: Option[OutputChannel[Any]] = None
var startTime: Long = 0L
@ -218,7 +218,7 @@ class PerformanceTest extends JUnitSuite {
}
}
case class Chameneo(var mall: Mall, var colour: Colour, id: int) extends Actor {
case class Chameneo(var mall: Mall, var colour: Colour, id: Int) extends Actor {
var meetings = 0
def act() {

View file

@ -4,7 +4,7 @@
package se.scalablesolutions.akka.actor
import se.scalablesolutions.akka.serialization.BinaryString
//import se.scalablesolutions.akka.serialization.BinaryString
import se.scalablesolutions.akka.config.ScalaConfig._
import se.scalablesolutions.akka.remote.{RemoteNode, RemoteServer}
import se.scalablesolutions.akka.OneWay
@ -18,6 +18,11 @@ object Log {
var oneWayLog: String = ""
}
//Dummy until SBinary is fixed for Scala 2.8
object BinaryString{
def apply(string : String) = string
def unapply(string : String) = Some(string)
}
@serializable class RemotePingPong1Actor extends Actor {
dispatcher = Dispatchers.newThreadBasedDispatcher(this)
@ -74,7 +79,7 @@ object Log {
class RemoteSupervisorTest extends JUnitSuite {
import Actor.Sender.Self
akka.Config.config
se.scalablesolutions.akka.Config.config
new Thread(new Runnable() {
def run = {
RemoteNode.start

View file

@ -59,8 +59,7 @@ object ServerInitiatedRemoteActorTest {
class ServerInitiatedRemoteActorTest extends JUnitSuite {
import ServerInitiatedRemoteActorTest._
import Actor.Sender.Self
akka.Config.config
se.scalablesolutions.akka.Config.config
private val unit = TimeUnit.MILLISECONDS

View file

@ -45,10 +45,11 @@
<atmosphere.version>0.5.2</atmosphere.version>
<jersey.version>1.1.5</jersey.version>
<grizzly.version>1.9.18-i</grizzly.version>
<scalatest.version>1.0-for-scala-2.8.0-SNAPSHOT</scalatest.version>
<scalatest.version>1.0.1-for-scala-2.8.0.Beta1-with-test-interfaces-0.3-SNAPSHOT</scalatest.version>
<dispatch.version>0.7.0</dispatch.version>
<lift.version>2.0-scala280-SNAPSHOT</lift.version>
<configgy.version>2.8.0.Beta1-1.5-SNAPSHOT</configgy.version>
<junit.version>4.5</junit.version>
</properties>
<modules>