Skip to content

Commit

Permalink
keep track of direction in OverlayEndpoint
Browse files Browse the repository at this point in the history
  • Loading branch information
isdal committed Sep 13, 2011
1 parent a646361 commit 3919797
Show file tree
Hide file tree
Showing 8 changed files with 19 additions and 12 deletions.
Expand Up @@ -62,11 +62,14 @@ public void testServiceSharing() throws InterruptedException {
// Register the client service
ServiceSharingManager.getInstance().registerClientService("echoclient", CLIENT_PORT,
searchKey);
SetupPacketTraceRoute tracerouteListener = new SetupPacketTraceRoute();
OSF2FMain.getSingelton().getOverlayManager()
.setSetupPacketListener(new SetupPacketTraceRoute());
.setSetupPacketListener(tracerouteListener);

Thread.sleep(5000);
ServiceSharingSingleProcessTest.doEchoTest();

tracerouteListener.printAllTraceRoutes();
} catch (Exception e) {
e.printStackTrace();
logger.severe(e.toString());
Expand Down
Expand Up @@ -143,6 +143,6 @@ public void updatePayload(DirectByteBuffer newPayload) {
buffer[1].returnToPool();
}
buffer[1] = newPayload;
updateMessageLength();
// updateMessageLength();
}
}
Expand Up @@ -58,9 +58,10 @@ public abstract class OverlayEndpoint {
protected Average uploadRateAverage = Average.getInstance(1000, 10);
private final OSF2FHashSearch search;
private final OSF2FHashSearchResp response;
protected final boolean outgoing;

public OverlayEndpoint(FriendConnection friendConnection, int pathID, long overlayDelayMs,
OSF2FHashSearch search, OSF2FHashSearchResp response) {
OSF2FHashSearch search, OSF2FHashSearchResp response, boolean outgoing) {
this.friendConnection = friendConnection;
this.channelId = response.getChannelID();
this.pathID = pathID;
Expand All @@ -71,10 +72,15 @@ public OverlayEndpoint(FriendConnection friendConnection, int pathID, long overl
overlayDelayMs);
this.search = search;
this.response = response;
this.outgoing = outgoing;
}

protected abstract void cleanup();

public boolean isOutgoing() {
return outgoing;
}

private void deregister() {
// remove it from the friend connection
friendConnection.deregisterOverlayTransport(this);
Expand Down Expand Up @@ -207,7 +213,7 @@ public void run() {
.getSetupPacketListener();
if (setupPacketListener != null && msg.getByteInChannel() == 0) {
setupPacketListener.packetArrivedAtFinalDestination(friendConnection,
search, response, msg);
search, response, msg, outgoing);
}
handleDelayedOverlayMessage(msg);
}
Expand Down
Expand Up @@ -68,7 +68,6 @@ public class OverlayTransport extends OverlayEndpoint implements Transport {

private final byte[] infoHash;

private volatile boolean outgoing;
private int posInHandshake = 0;

private List<EventWaiter> readWaiter = new LinkedList<EventWaiter>();
Expand All @@ -84,12 +83,11 @@ public class OverlayTransport extends OverlayEndpoint implements Transport {
public OverlayTransport(FriendConnection connection, byte[] infohash, int pathID,
boolean outgoing, long overlayDelayMs, OSF2FHashSearch search,
OSF2FHashSearchResp response) {
super(connection, pathID, overlayDelayMs, search, response);
super(connection, pathID, overlayDelayMs, search, response, outgoing);
this.infoHash = infohash;
this.bufferedMessages = new LinkedList<OSF2FChannelDataMsg>();
logger.fine(getDescription() + ": Creating overlay transport");
this.channelPeerId = generatePeerId();
this.outgoing = outgoing;
}

@Override
Expand Down
Expand Up @@ -18,6 +18,6 @@ public void packetAddedToTransportQueue(FriendConnection destination,
OSF2FSearch sourceMessage, OSF2FSearchResp setupMessage, OSF2FChannelMsg message);

public void packetArrivedAtFinalDestination(FriendConnection source, OSF2FHashSearch search,
OSF2FHashSearchResp response, OSF2FChannelDataMsg msg);
OSF2FHashSearchResp response, OSF2FChannelDataMsg msg, boolean outgoing);

}
Expand Up @@ -17,7 +17,7 @@ public class ClientServiceConnection extends ServiceConnection {

public ClientServiceConnection(ClientService service, NetworkConnection incomingConnetion,
FriendConnection connection, OSF2FHashSearch search, OSF2FHashSearchResp response) {
super(connection, search, response);
super(connection, search, response, true);
this.clientService = service;
this.serverConnection = incomingConnetion;
}
Expand Down
Expand Up @@ -15,7 +15,7 @@ public class ServerServiceConnection extends ServiceConnection {

public ServerServiceConnection(SharedService service, FriendConnection connection,
OSF2FHashSearch search, OSF2FHashSearchResp response) {
super(connection, search, response);
super(connection, search, response, false);
this.serverService = service;
}

Expand Down
Expand Up @@ -55,8 +55,8 @@ public abstract class ServiceConnection extends OverlayEndpoint {
protected NetworkConnection serverConnection;

public ServiceConnection(FriendConnection connection, OSF2FHashSearch search,
OSF2FHashSearchResp response) {
super(connection, response.getPathID(), 0, search, response);
OSF2FHashSearchResp response, boolean outgoing) {
super(connection, response.getPathID(), 0, search, response, outgoing);
this.bufferedMessages = new LinkedList<OSF2FChannelDataMsg>();
}

Expand Down

0 comments on commit 3919797

Please sign in to comment.