Crossfire JXClient, Trunk
|
Public Member Functions | |
AskfaceFaceQueue (@NotNull final AskfaceQueue askfaceQueue) | |
void | loadFace (@NotNull final Face face) |
void | reset () |
Public Member Functions inherited from com.realtime.crossfire.jxclient.faces.AbstractFaceQueue | |
void | addFaceQueueListener (@NotNull final FaceQueueListener faceQueueListener) |
void | removeFaceQueueListener (@NotNull final FaceQueueListener faceQueueListener) |
Private Member Functions | |
void | faceReceived (final int faceNum, final int faceSetNum, final byte @NotNull[] data) |
void | processFaceData (@NotNull final Face face, final byte @NotNull[] data) |
void | sendAskface () |
Private Attributes | |
final AskfaceQueue | askfaceQueue |
final Map< Integer, Face > | pendingAskfaces = new HashMap<>() |
final Map< Integer, Face > | pendingFaces = new HashMap<>() |
final List< Face > | pendingFacesQueue = new LinkedList<>() |
final Object | sync = new Object() |
Static Private Attributes | |
static final int | CONCURRENT_ASKFACE_COMMANDS = 8 |
Additional Inherited Members | |
Protected Member Functions inherited from com.realtime.crossfire.jxclient.faces.AbstractFaceQueue | |
void | fireFaceFailed (@NotNull final Face face) |
void | fireFaceLoaded (@NotNull final Face face, @NotNull final FaceImages faceImages) |
A FaceQueue requesting faces by "askface" commands sent to the Crossfire server.
Definition at line 37 of file AskfaceFaceQueue.java.
com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.AskfaceFaceQueue | ( | @NotNull final AskfaceQueue | askfaceQueue | ) |
Creates a new instance.
askfaceQueue | the connection instance for sending askface commands |
Definition at line 83 of file AskfaceFaceQueue.java.
References com.realtime.crossfire.jxclient.faces.AskfaceQueue.addFaceReceivedListener(), and com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.askfaceQueue.
|
private |
Notifies the askface manager that image information have been received from the server.
faceNum | the face ID |
faceSetNum | the face set |
data | the face data |
Definition at line 141 of file AskfaceFaceQueue.java.
References com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.pendingAskfaces, com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.pendingFaces, com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.pendingFacesQueue, com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.processFaceData(), com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.sendAskface(), and com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.sync.
void com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.loadFace | ( | @NotNull final Face | face | ) |
Request a face. Must eventually call either FaceQueueListener#faceLoaded(Face, FaceImages) or FaceQueueListener#faceFailed(Face) for the face. Faces re-requested while still processing may be notified only once.
face | the requested face |
Implements com.realtime.crossfire.jxclient.faces.FaceQueue.
Definition at line 98 of file AskfaceFaceQueue.java.
References com.realtime.crossfire.jxclient.faces.AbstractFaceQueue.fireFaceFailed(), com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.pendingFaces, com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.pendingFacesQueue, com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.sendAskface(), and com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.sync.
|
private |
Processes face information received from the server.
face | the face |
data | the face information; it is supposed to be a .png file |
Definition at line 167 of file AskfaceFaceQueue.java.
References com.realtime.crossfire.jxclient.faces.AbstractFaceQueue.fireFaceFailed(), com.realtime.crossfire.jxclient.faces.AbstractFaceQueue.fireFaceLoaded(), and com.realtime.crossfire.jxclient.faces.FaceImagesUtils.newFaceImages().
Referenced by com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.faceReceived().
void com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.reset | ( | ) |
Reset the processing: forget about pending faces. This function is called whenever the server socket breaks, or when a new connection has been established.
Implements com.realtime.crossfire.jxclient.faces.FaceQueue.
Definition at line 89 of file AskfaceFaceQueue.java.
References com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.pendingAskfaces, com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.pendingFaces, com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.pendingFacesQueue, and com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.sync.
|
private |
Sends some pending "askface" commands.
Definition at line 121 of file AskfaceFaceQueue.java.
References com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.askfaceQueue, com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.CONCURRENT_ASKFACE_COMMANDS, com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.pendingAskfaces, com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.pendingFacesQueue, and com.realtime.crossfire.jxclient.faces.AskfaceQueue.sendAskface().
Referenced by com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.faceReceived(), and com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.loadFace().
|
private |
The connection to use.
Definition at line 56 of file AskfaceFaceQueue.java.
Referenced by com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.AskfaceFaceQueue(), and com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.sendAskface().
|
staticprivate |
The maximum number of concurrently sent "askface" commands. If more are requested, the excess ones are put on hold until some face information is received.
Definition at line 44 of file AskfaceFaceQueue.java.
Referenced by com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.sendAskface().
|
private |
Face numbers for which "askface" commands have been sent without having received a response from the server. Maps face ID to Face instance.
Definition at line 64 of file AskfaceFaceQueue.java.
Referenced by com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.faceReceived(), com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.reset(), and com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.sendAskface().
|
private |
Face numbers for which an "askface" command should be sent. It includes all elements of pendingAskfaces.
Definition at line 71 of file AskfaceFaceQueue.java.
Referenced by com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.faceReceived(), com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.loadFace(), and com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.reset().
|
private |
The same elements as pendingFaces in query order.
Definition at line 77 of file AskfaceFaceQueue.java.
Referenced by com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.faceReceived(), com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.loadFace(), com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.reset(), and com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.sendAskface().
|
private |
The object use for synchronization.
Definition at line 50 of file AskfaceFaceQueue.java.
Referenced by com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.faceReceived(), com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.loadFace(), and com.realtime.crossfire.jxclient.faces.AskfaceFaceQueue.reset().