/src/fitnesse/responders/run/SocketDealer.java
Java | 33 lines | 25 code | 6 blank | 2 comment | 0 complexity | d7501d1a138c35a7d56ffdebc06f7b37 MD5 | raw file
Possible License(s): BSD-2-Clause, BSD-3-Clause, GPL-2.0
- // Copyright (C) 2003-2009 by Object Mentor, Inc. All rights reserved.
- // Released under the terms of the CPL Common Public License version 1.0.
- package fitnesse.responders.run;
- import java.util.Collection;
- import java.util.HashMap;
- import java.util.Map;
- public class SocketDealer {
- private Map<Integer, SocketSeeker> waitingList = new HashMap<Integer, SocketSeeker>(17);
- private int ticketCounter = 1;
- public int seekingSocket(SocketSeeker seeker) {
- int ticket = ticketCounter++;
- waitingList.put(new Integer(ticket), seeker);
- return ticket;
- }
- public Collection<SocketSeeker> getWaitingList() {
- return waitingList.values();
- }
- public void dealSocketTo(int ticket, SocketDoner doner) throws Exception {
- Integer key = new Integer(ticket);
- SocketSeeker seeker = waitingList.get(key);
- seeker.acceptSocketFrom(doner);
- waitingList.remove(key);
- }
- public boolean isWaiting(int ticket) {
- return waitingList.containsKey(new Integer(ticket));
- }
- }