Skip to content

Commit

Permalink
TODO and @Deprecation cleanup (#100)
Browse files Browse the repository at this point in the history
* TODO and @Deprecation cleanup

---------

Co-authored-by: Tilmann Zäschke <tilmann.zaeschke@inf.ethz.ch>
  • Loading branch information
tzaeschke and Tilmann Zäschke authored Jun 24, 2024
1 parent fa1a107 commit 4143d5f
Show file tree
Hide file tree
Showing 6 changed files with 28 additions and 34 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,13 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.

## [Unreleased]

### Added
- nothing yet

### Changed
- Clean up TODO and deprecation information

### Fixed
- nothing yet

## [0.2.0] - 2024-06-24
Expand Down
23 changes: 6 additions & 17 deletions TODO.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,8 @@

## Plan

### 0.2.0
### 0.3.0
- Fix: call CS only once for UP-Segments. Fix TODOs in ScionServiceTest
- Implement PingResponder
- Allow disabling local address resolution in DNS to local-IA. Resolving 127.0.0.x to
localIA is fine for many purposes, but it can be confusing when testing a local
mock-network (tiny, minimal, ...)
Expand Down Expand Up @@ -39,8 +38,6 @@
- DISPATCHER migration:
- Daemon supposedly provides information about dispatcher. Double check updated proto files
- Parse topofiles with port range information -> indicates DISPATCHER presence
- Add facility to send ECHO responses.
- HostfileParser TODO
- Consider SHIM support. SHIM is a compatibility component that supports
old border-router software (requiring a fixed port on the client, unless
the client is listening on this very port). When SHIM is used, we cannot
Expand All @@ -49,9 +46,6 @@
first hop, OR extend SHIM to accept and forward packets to the correct BR.
- AS switching: handle localIsdAs code per Interface or IP
- Path expiry: request new path asynchronously when old path is close to expiry
- DNS /etc/scion/hosts e.g.:
71-2:0:4a,[127.0.0.1] www.netsys.ovgu.de netsys.ovgu.de
71-2:0:48,[127.0.0.1] dfw.source.kernel.org
- DNS with other options, see book p328ff, Section 13.2.3
- UDP checksum validation + creation
- SCMP checksum validation + creation
Expand All @@ -74,16 +68,14 @@

#### Other
- Truncate PROTO files?
- MOVE Channel to ".channel"?
- TEST concurrent path/as/DNS lookup
- TEST concurrent use of single channel.
- IMPORTANT: In non-blocking mode, the channel should probably block if it received a partial Scion-header?
Or not? This would be an attack, send a partial header would block the receiver....
We could just buffer a partial header until it is complete...


### 0.3.0
- SCMP info handling: ping, traceroute, ...
### 0.4.0
- SCMP error _sending_ e.h. in case of corrupt packet
- DatagramSocket
- Extent DatagramPacket to ScionDatagramPacket with ScionPath info?!?!
Expand All @@ -95,7 +87,7 @@
- Reproducible build
- RHINE?

### 0.4.0
### 0.5.0
- Multipathing
- EPIC, Hidden paths
- SPAO end-to-end option -> Later, not used at the moment
Expand All @@ -105,7 +97,9 @@
- QuickBuffers: https://github.com/HebiRobotics/QuickBuffers/tree/main/benchmarks
- FlatBuffers


###
- Remove methods that are not required anymore:
- configureRemoteDispatcher()

## Then

Expand Down Expand Up @@ -146,11 +140,6 @@
- Test SCMP handling, see Design.
- Test general: Test that me make a minimum of gRPC calls, e.g. to get path from daemon


## Design
- Where to place generated proto files? They are currently in `target` but could be in `scr/java`...


## Reconsider tooling
- Documentation
- There seems to be no documentation specifying the latency unit. [ms]?
Expand Down
5 changes: 0 additions & 5 deletions src/main/java/org/scion/jpan/AbstractDatagramChannel.java
Original file line number Diff line number Diff line change
Expand Up @@ -391,9 +391,7 @@ protected void checkListeners(Scmp.Message scmpMsg) {
*
* @param hasDispatcher Set to 'true' if remote end-host uses a dispatcher and requires using port
* 30041.
* @deprecated To be removed once dispatchers have been removed
*/
@Deprecated
public void configureRemoteDispatcher(boolean hasDispatcher) {
this.cfgRemoteDispatcher = hasDispatcher;
}
Expand All @@ -403,11 +401,8 @@ public void configureRemoteDispatcher(boolean hasDispatcher) {
* located behind a NAT. The specified source address should in this case be the external address
* of the NAT.
*
* @deprecated This is deprecated because it is considered a workaround and will likely be removed
* in a future version.
* @param address The external source address
*/
@Deprecated
public void setOverrideSourceAddress(InetSocketAddress address) {
this.overrideExternalAddress = address;
}
Expand Down
4 changes: 0 additions & 4 deletions src/main/java/org/scion/jpan/ScionDatagramSocket.java
Original file line number Diff line number Diff line change
Expand Up @@ -626,9 +626,7 @@ public synchronized void setPathPolicy(PathPolicy pathPolicy) throws IOException
* @param hasDispatcher Set to 'true' if remote end-host uses a dispatcher and requires using port
* 30041.
* @see ScionDatagramChannel#configureRemoteDispatcher(boolean)
* @deprecated To be remove once dispatchers have been removed
*/
@Deprecated
public synchronized ScionDatagramSocket setRemoteDispatcher(boolean hasDispatcher) {
channel.configureRemoteDispatcher(hasDispatcher);
return this;
Expand All @@ -639,9 +637,7 @@ public synchronized ScionDatagramSocket setRemoteDispatcher(boolean hasDispatche
* ScionDatagramChannel#setOverrideSourceAddress(InetSocketAddress)}.
*
* @param overrideSourceAddress Override address
* @deprecated This will likely be removed in a future version
*/
@Deprecated
public synchronized void setOverrideSourceAddress(InetSocketAddress overrideSourceAddress) {
channel.setOverrideSourceAddress(overrideSourceAddress);
}
Expand Down
20 changes: 15 additions & 5 deletions src/main/java/org/scion/jpan/ScmpChannel.java
Original file line number Diff line number Diff line change
Expand Up @@ -48,12 +48,24 @@ public class ScmpChannel implements AutoCloseable {
this.path = null;
}

@Deprecated
/**
* @param path path
* @throws IOException Exception
* @deprecated Please use channel.send(path, ...) instead
*/
@Deprecated // Please use channel.send(path, ...) instead
ScmpChannel(RequestPath path) throws IOException {
this(Scion.defaultService(), path, 12345);
}

@Deprecated
/**
* @param service service
* @param path path
* @param port port
* @throws IOException error
* @deprecated Please use channel.send(path, ...) instead
*/
@Deprecated // Please use channel.send(path, ...) instead
ScmpChannel(ScionService service, RequestPath path, int port) throws IOException {
this.channel = new InternalChannel(service, port);
this.path = path;
Expand Down Expand Up @@ -436,13 +448,11 @@ public void setPathPolicy(PathPolicy pathPolicy) throws IOException {
}

/**
* Specify an source address override. See {@link
* Specify a source address override. See {@link
* ScionDatagramChannel#setOverrideSourceAddress(InetSocketAddress)}.
*
* @param overrideSourceAddress Override address
* @deprecated This will likely be removed in a future version
*/
@Deprecated
public void setOverrideSourceAddress(InetSocketAddress overrideSourceAddress) {
channel.setOverrideSourceAddress(overrideSourceAddress);
}
Expand Down
3 changes: 0 additions & 3 deletions src/main/java/org/scion/jpan/internal/ScionBootstrapper.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@
import java.util.List;
import java.util.Map;
import java.util.stream.Stream;
import org.scion.jpan.Scion;
import org.scion.jpan.ScionException;
import org.scion.jpan.ScionRuntimeException;
import org.scion.jpan.ScionUtil;
Expand All @@ -41,8 +40,6 @@
* The ScionBootstrapper tries to find the address of the control server.
*
* <p>It currently supports: - DNS lookup NAPTR with A/AAAA and TXT for port information.
*
* @see Scion.CloseableService
*/
public class ScionBootstrapper {

Expand Down

0 comments on commit 4143d5f

Please sign in to comment.