|
Scala IPv4 0.1 API
|
|
be/jvb/iptypes/IpAddressPool.scala]
class
IpAddressPool(val override first : IpAddress, val override last : IpAddress, val freeRanges : scala.collection.immutable.SortedSet[IpAddressRange])
extends IpAddressRangefirst - first address in the poollast - last address in the poolfreeRanges - sorted set of all free ranges in this pool. All free ranges should be contained in the range from first to last; none of the free ranges should overlap; and the set of free ranges should contain as little fragments as necessary.| Additional Constructor Summary | |
def
|
this
(range : IpAddressRange) : IpAddressPool
Construct a pool which is completely free from an existing address range.
|
def
|
this
(first : IpAddress, last : IpAddress) : IpAddressPool
Construct a pool which is completely free.
|
| Method Summary | |
def
|
allocate
(toAllocate : IpAddress) : (IpAddressPool, scala.Option[IpAddress])
Allocate the given address in the pool.
|
def
|
allocate
: (IpAddressPool, scala.Option[IpAddress])
Allocate the first free address in the pool.
|
def
|
allocatedAddresses : scala.Stream[IpAddress] |
def
|
allocatedRanges : scala.List[IpAddressRange] |
protected override def
|
canEqual (other : Any) : Boolean |
def
|
deAllocate
(address : IpAddress) : IpAddressPool
Deallocate the given address in the pool. The given address will be free in the returned pool.
|
override def
|
equals
(other : Any) : Boolean
This method is used to compare the receiver object (
this)
with the argument object (arg0) for equivalence. |
def
|
fragments : Int |
def
|
freeAddresses : scala.Stream[IpAddress] |
override def
|
hashCode
: Int
Returns a hash code value for the object.
|
def
|
isExhausted : Boolean |
def
|
isFree (address : IpAddress) : Boolean |
override def
|
toString
: java.lang.String
Returns a string representation of the object.
|
| Methods inherited from IpAddressRange | |
| contains, contains, overlaps, length, addresses, compare, -, + |
| Methods inherited from scala.Ordered | |
| scala.Ordered.<, scala.Ordered.>, scala.Ordered.<=, scala.Ordered.>=, scala.Ordered.compareTo |
| Methods inherited from AnyRef | |
| getClass, clone, notify, notifyAll, wait, wait, wait, finalize, ==, !=, eq, ne, synchronized |
| Methods inherited from Any | |
| ==, !=, isInstanceOf, asInstanceOf |
| Additional Constructor Details |
def
this(first : IpAddress, last : IpAddress) : IpAddressPool
def
this(range : IpAddressRange) : IpAddressPool
| Method Details |
def
allocate : (IpAddressPool, scala.Option[IpAddress])
def
allocate(toAllocate : IpAddress) : (IpAddressPool, scala.Option[IpAddress])
toAllocate - address to allocate in the pool
def
deAllocate(address : IpAddress) : IpAddressPool
def
isExhausted : Boolean
def
fragments : Int
def
freeAddresses : scala.Stream[IpAddress]
def
allocatedAddresses : scala.Stream[IpAddress]
def
allocatedRanges : scala.List[IpAddressRange]
override
def
toString : java.lang.String
The default representation is platform dependent.
this)
with the argument object (arg0) for equivalence.
The default implementations of this method is an equivalence relation:
x of type Any,
x.equals(x) should return true.x and y of type
Any, x.equals(y) should return true if and only
if y.equals(x) returns true.x, y, and z of type AnyRef
if x.equals(y) returns true and
y.equals(z) returns
true, then x.equals(z) should return true.
If you override this method, you should verify that
your implementation remains an equivalence relation.
Additionally, when overriding this method it is often necessary to
override hashCode to ensure that objects that are
"equal" (o1.equals(o2) returns true)
hash to the same Int
(o1.hashCode.equals(o2.hashCode)).
arg0 - the object to compare against this object for equality.true if the receiver object is equivalent to the argument; false otherwise. override
def
hashCode : Int
The default hashing algorithm is platform dependent.
Note that it is allowed for two objects to have identical hash
codes (o1.hashCode.equals(o2.hashCode)) yet not be
equal (o1.equals(o2) returns false). A
degenerate implementation could always return 0.
However, it is required that if two objects are equal
(o1.equals(o2) returns true) that they
have identical hash codes
(o1.hashCode.equals(o2.hashCode)). Therefore, when
overriding this method, be sure to verify that the behavior is
consistent with the equals method.
|
Scala IPv4 0.1 API
|
|