Skip to content

Commit

Permalink
Organise this in a more sensible way
Browse files Browse the repository at this point in the history
  • Loading branch information
rtm516 committed Aug 21, 2024
1 parent c2d381f commit 45c02b1
Showing 1 changed file with 53 additions and 53 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -44,59 +44,6 @@ public PeerSession(RtcWebsocketClient rtcWebsocket, List<CandidateHarvester> can
}
}

public void addCandidate(String message) {
component.addRemoteCandidate(parseCandidate(message, component.getParentStream()));

if (component.getRemoteCandidateCount() == 4) {
agent.startConnectivityEstablishment();
}
}

private RemoteCandidate parseCandidate(String value, IceMediaStream stream) {
StringTokenizer tokenizer = new StringTokenizer(value);

//XXX add exception handling.
String foundation = tokenizer.nextToken();
int componentID = Integer.parseInt( tokenizer.nextToken() );
Transport transport = Transport.parse(tokenizer.nextToken());
long priority = Long.parseLong(tokenizer.nextToken());
String address = tokenizer.nextToken();
int port = Integer.parseInt(tokenizer.nextToken());

TransportAddress transAddr = new TransportAddress(address, port, transport);

tokenizer.nextToken(); //skip the "typ" String
CandidateType type = CandidateType.parse(tokenizer.nextToken());

Component component = stream.getComponent(componentID);

if(component == null)
return null;

// check if there's a related address property

RemoteCandidate relatedCandidate = null;
String ufrag = null;
while (tokenizer.countTokens() >= 2) {
String key = tokenizer.nextToken();
String val = tokenizer.nextToken();

if (key.equals("ufrag")) {
ufrag = val;
break;
} else if (key.equals("raddr")) {
tokenizer.nextToken(); // skip the rport element
int relatedPort = Integer.parseInt(tokenizer.nextToken());

TransportAddress raddr = new TransportAddress(val, relatedPort, Transport.UDP);

relatedCandidate = component.findRemoteCandidate(raddr);
}
}

return new RemoteCandidate(transAddr, component, type, foundation, priority, relatedCandidate, ufrag);
}

public void receiveOffer(BigInteger from, String sessionId, String message) {
try {
var factory = new NistSdpFactory();
Expand Down Expand Up @@ -194,4 +141,57 @@ public void receiveOffer(BigInteger from, String sessionId, String message) {
throw new RuntimeException(e);
}
}

public void addCandidate(String message) {
component.addRemoteCandidate(parseCandidate(message, component.getParentStream()));

if (component.getRemoteCandidateCount() == 4) {
agent.startConnectivityEstablishment();
}
}

private RemoteCandidate parseCandidate(String value, IceMediaStream stream) {
StringTokenizer tokenizer = new StringTokenizer(value);

//XXX add exception handling.
String foundation = tokenizer.nextToken();
int componentID = Integer.parseInt( tokenizer.nextToken() );
Transport transport = Transport.parse(tokenizer.nextToken());
long priority = Long.parseLong(tokenizer.nextToken());
String address = tokenizer.nextToken();
int port = Integer.parseInt(tokenizer.nextToken());

TransportAddress transAddr = new TransportAddress(address, port, transport);

tokenizer.nextToken(); //skip the "typ" String
CandidateType type = CandidateType.parse(tokenizer.nextToken());

Component component = stream.getComponent(componentID);

if(component == null)
return null;

// check if there's a related address property

RemoteCandidate relatedCandidate = null;
String ufrag = null;
while (tokenizer.countTokens() >= 2) {
String key = tokenizer.nextToken();
String val = tokenizer.nextToken();

if (key.equals("ufrag")) {
ufrag = val;
break;
} else if (key.equals("raddr")) {
tokenizer.nextToken(); // skip the rport element
int relatedPort = Integer.parseInt(tokenizer.nextToken());

TransportAddress raddr = new TransportAddress(val, relatedPort, Transport.UDP);

relatedCandidate = component.findRemoteCandidate(raddr);
}
}

return new RemoteCandidate(transAddr, component, type, foundation, priority, relatedCandidate, ufrag);
}
}

0 comments on commit 45c02b1

Please sign in to comment.