public void addResponse(final BindingRequest request, final StunMessage response) { this.m_requestsToResponses.put(request.getTransactionId(), response); }
/** * Creates a new Binding Request with the specified attributes. * * @param attributes Additional Binding Request attributes, typically * attributes associated with a particular STUN usage. */ public BindingRequest(final StunAttribute... attributes) { super(StunMessageType.BINDING_REQUEST, createAttributes(attributes)); if (LOG.isDebugEnabled()) { LOG.debug("Created Binding Request from scratch: {}", this); } }
request.getAttributes(); if (!remoteAttributes.containsKey(StunAttributeType.ICE_CONTROLLED) && !remoteAttributes.containsKey(StunAttributeType.ICE_CONTROLLING)) m_log.debug("Transaction ID: {}", request.getTransactionId()); final IceControlledAttribute attribute = (IceControlledAttribute) remoteAttributes.get(
LOG.info("Getting server reflexive address from: {}", this.m_stunServer); final BindingRequest br = new BindingRequest(); final StunMessage message = write(br, this.m_stunServer.isa); final StunMessageVisitor<InetSocketAddress> visitor =
request.getAttributes(); final byte[] remoteTieBreaker; if (remoteAttributes.containsKey(StunAttributeType.ICE_CONTROLLED))
if (binding.getAttributes().containsKey( StunAttributeType.ICE_USE_CANDIDATE)) final UUID transactionId = binding.getTransactionId(); final StunMessage response = new BindingSuccessResponse(transactionId.getRawBytes(), if (binding.getAttributes().containsKey( StunAttributeType.ICE_USE_CANDIDATE) && !this.m_agent.isControlling())
return new BindingRequest(id, attributes); case BINDING_SUCCESS_RESPONSE: return new BindingSuccessResponse(id, attributes);
.getAttributes(); final IcePriorityAttribute priorityAttribute = (IcePriorityAttribute) attributes .get(StunAttributeType.ICE_PRIORITY);
public StunMessage getResponse(final BindingRequest request) { return m_requestsToResponses.get(request.getTransactionId()); }
request = new BindingRequest(priorityAttribute, controlling, new IceUseCandidateAttribute()); includedUseCandidate = true; request = new BindingRequest(priorityAttribute, controlling); includedUseCandidate = false;
public boolean recentlyProcessed(final BindingRequest request) { return this.m_transactionIds.contains(request.getTransactionId()); }
public void add(final BindingRequest request) { synchronized (m_transactionIds) { if (this.m_transactionIds.size() >= UUIDS_TO_STORE) { final UUID lastIn = this.m_transactionIds.iterator().next(); this.m_transactionIds.remove(lastIn); } this.m_transactionIds.add(request.getTransactionId()); } }
protected final void waitIfNoResponse(final BindingRequest request, final long waitTime) { if (waitTime == 0L) return; if (!m_idsToResponses.containsKey(request.getTransactionId())) { try { m_requestLock.wait(waitTime); } catch (final InterruptedException e) { m_log.error("Unexpected interrupt", e); } } }
private BindingErrorResponse createErrorResponse( final BindingRequest request) { // We need to send a Binding Error Response with a // 487 Role Conflict ERROR CODE attribute. final UUID transactionId = request.getTransactionId(); final BindingErrorResponse errorResponse = new BindingErrorResponse(transactionId, 487, "Role Conflict"); return errorResponse; }
public Object visitBindingRequest(final BindingRequest binding) { LOG.debug("STUN server visiting binding request..."); final InetSocketAddress address = (InetSocketAddress) m_session.getRemoteAddress(); final UUID transactionId = binding.getTransactionId(); final StunMessage response = new BindingSuccessResponse(transactionId.getRawBytes(), address); this.m_session.write(response); return null; } }
final UUID id = request.getTransactionId();
final UUID id = bindingRequest.getTransactionId(); final InetSocketAddress localAddress = (InetSocketAddress) this.m_ioSession.getLocalAddress();