/** * Get a list of message ids controlled by this agent * * @return an array of integers representing the message ids */ /* package */ final int[] getMessageIDs() { int size = messages.size(); int[] ids = new int[size]; Message info; for( int i = 0; i < size; i++ ) { info = (Message)messages.elementAt(i); ids[i] = info.getMessageID(); } return ids; }
/** * Returns true if any responses are queued for any of the agent's messages * * return false if no responses are queued, otherwise true */ /* package */ final boolean isResponseReceived() { int size = messages.size(); int next = indexLastRead + 1; Message info; for( int i = 0; i < size; i++) { if( next == size ) { next = 0; } info = (Message)messages.elementAt(next); if( info.hasReplies() ) { return true; } } return false; }
/** * Abandon all requests on this MessageAgent */ /* package */ final void abandonAll() { int size = messages.size(); Message info; for( int i = 0; i < size; i++ ) { info = (Message)messages.elementAt(i); // Message complete and no more replies, remove from id list if( Debug.LDAP_DEBUG) { Debug.trace( Debug.messages, name + "abandonAll: Removing abandoned Message(" + info.getMessageID() + ")"); } messages.removeElement( info); info.abandon( null, null); } if( Debug.LDAP_DEBUG) { Debug.trace( Debug.messages, name + "Messages in queue"); debugDisplayMessages(); } return; }
next = 0; info = (Message)messages.elementAt(next); indexLastRead = next++; rfcMsg = info.getReply();