[
https://jira.jboss.org/jira/browse/JGRP-1070?page=com.atlassian.jira.plug...
]
Richard Achmatowicz commented on JGRP-1070:
-------------------------------------------
Implemented first version of IP version checking based on Field and Method processing.
All implementation details in Configurator.
Added test case InetAddressChecksTest to check tests for IP version determination and IPv6
scope testing.
Committed to JGroups 2.8 branch.
Provide IP version checking based on @Property processing
---------------------------------------------------------
Key: JGRP-1070
URL:
https://jira.jboss.org/jira/browse/JGRP-1070
Project: JGroups
Issue Type: Feature Request
Affects Versions: 2.8
Reporter: Richard Achmatowicz
Assignee: Richard Achmatowicz
Fix For: 2.8
With the advent of IPv6 suppport, JGroups needs to be IP version aware, in order to
provide checks such as:
* ensuring that JGroups peers are started us using a set of bind and multicast addresses
which are of a single IP version
* in the case of IPv6 link-local addresses, checking that link-local scopes are present
to eliminate interface ambiguity
Managing many InetAddress and related addresses (such as IpAddress and InetSocketAddress)
which are used in many stack layers within a JGroups stack
is difficult. Especially so when a decision (siuch as which IP version to use) depends
upon having access to all InetAddresses at one point in time.
One way to achieve this is to delay all InetAddress creation until the init() layer of
each protocol, so that initial values for InetAddresses which have been passed in by the
user (or not) may be inspected and a decition made. However, decitions made in one iinit()
layer need to be communicated to the other layers - this is true in trying to assign a
common IP version across all layers.
Another approach is to intercept all InetAddress fields and setter methods during
protocol stack creation, and after properties have been processed. This allows us access
to the entire stack and its InetAddress variables by way of java.lang.reflect.Field and
java.lang.reflect.Method processing.
This is the approach to IP version checking (and other InetAddress related checks) which
will be taken for JGroups.
This approach also makes a nice stack creation-time companion to @Property processing
(including the processing of dependencies and defaults).
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira