|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object anon.transport.connection.SkypeConnection.SkypeReader
private static class SkypeConnection.SkypeReader
Umsetzung eines IChunkReader
welcher speziell auf die Eigenheiten
der Skype Verbindung zugeschnitten ist.
Da weder Skype noch Skype4Java einen gepufferten Empfang von Nachrichen
unterstuetzen, erzeugt die Implementierung intern eine Instanz eines
QueuedChunkReader
um diesen asynchron von Skype fuellen zulassen.
Field Summary | |
---|---|
private Stream |
m_appStream
Das Skype Stream Object, welches den Kanal ueber Skype repraesentiert. |
private QueuedChunkReader |
m_baseReader
Der eigentliche Reader, welcher den gepufferten Empfang und die Auslieferung von Chunks umsetzt. |
private StreamListener |
m_listner
Der Listner fuer ankommende Nachrichten |
private ObjectQueue |
m_readBuffer
Der Empfangspuffer |
static int |
MAX_MESSAGE_LENGTH
Die maximal Laenge einer Nachricht, wie sie ueber Skype verschickt werden darf. |
Constructor Summary | |
---|---|
SkypeConnection.SkypeReader(Stream a_appStream)
Erstellt einen neuen reader auf Basis des uebergeben Skype Stream |
Method Summary | |
---|---|
int |
availableChunks()
Gibt aufschluss darueber, wieviele Chunks gelesen werden koennen, ohne das der Aufruf von IChunkReader.readChunk() blockiert. |
void |
close()
Entfernt den Listener und schliesst den internen Reader. |
byte[] |
readChunk()
Gibt den aeltesten (im Sinne des Einfuegens in den Kanal) der im Kanal befindlichen Chunks zurueck. |
void |
tearDown()
Entfernt den Listener und faehrt den internen Reader runter. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int MAX_MESSAGE_LENGTH
https://developer.skype.com/Docs/ApiDoc/Application_to_application_commands
,
Constant Field Valuesprivate ObjectQueue m_readBuffer
private Stream m_appStream
private StreamListener m_listner
private QueuedChunkReader m_baseReader
Constructor Detail |
---|
public SkypeConnection.SkypeReader(Stream a_appStream)
a_appStream
- Der Skype Strom, welcher als Datenkanal genutzt werden
soll.Method Detail |
---|
public int availableChunks() throws ConnectionException
IChunkReader
IChunkReader.readChunk()
blockiert.
Der Wert dieser Methode sollte nicht schrumpfen, sofern kein lesender Zugriff auf den Kanal erfolgt.
availableChunks
in interface IChunkReader
ConnectionException
public byte[] readChunk() throws ConnectionException
IChunkReader
Evtl. Fehler oder unzulaessige Zustaende des Kanals koennen durch entsprechende Ausnahmen angezeigt werden.
readChunk
in interface IChunkReader
null
ist nicht zulaessig und ein Rueckgabewert von
byte[0]
sollte vermieden werden.
ConnectionException
public void close() throws java.io.IOException
close
in interface IChunkReader
java.io.IOException
public void tearDown() throws java.io.IOException
java.io.IOException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |