|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object anon.transport.connection.SkypeConnection
public class SkypeConnection
Implementierung einer Chunk basierten Verbindung, welche Skype fuer den Transport der Daten verwendet.
Aenderungen des internen Zustandes (offen, geschlossen) von aussen, sprich
durch Skype oder den Kommunikationspartner werden wahrgenommen und
entsprechend ausgewertet (@see m_listner
).
Nested Class Summary | |
---|---|
private static class |
SkypeConnection.SkypeReader
Umsetzung eines IChunkReader welcher speziell auf die Eigenheiten
der Skype Verbindung zugeschnitten ist. |
private static class |
SkypeConnection.SkypeWriter
Umsetzung eines IChunkWriter welcher speziell auf die Eigenheiten
der Skype Verbindung zugeschnitten ist. |
Field Summary | |
---|---|
static int |
IDLE_TIME_OUT
Das inaktivitaets Time Out, nach welchem zu erwarten ist, das eine Verbindung zwangsweise geschlossen wird. |
private Application |
m_application
Das ApplicationsObject welches mit dem uebergebene Steam Verbunden ist |
private Stream |
m_appStream
Das Stream Object, welches die Basis der verbindung Bildet |
private ApplicationListener |
m_listner
Der Listner fuer Veraenderungen an dem Zustand der Verbindung, sofern diese von aussen (Skype, RemoteEnd) ausgeloesst werden. |
private SkypeAddress |
m_localAddress
Die Adresse des lokalen Endunktes der Verbindung |
private SkypeConnection.SkypeReader |
m_reader
Der Reader fuer die Verbindung. |
private SkypeAddress |
m_remoteAddress
Die Adresse des entfernten Endpunktes des Verbindung |
private int |
m_state
Der interne Zustand der Verbindung. |
private SkypeConnection.SkypeWriter |
m_writer
Der Writer der Verbindung |
Fields inherited from interface anon.transport.connection.IConnection |
---|
ConnectionState_CLOSE, ConnectionState_OPEN |
Constructor Summary | |
---|---|
SkypeConnection(Stream a_appStream)
Erstellt eine neue Verbindung auf Basis eines bereits offenen Skype Streams. |
Method Summary | |
---|---|
void |
close()
Schliesst die Verbindung, indem der Listner entfernt wird und Reader und Writer geschlossen werden. |
void |
close(boolean a_disconnectStream)
Schliesst die Verbindung, indem der Listner entfernt wird und Reader und Writer geschlossen werden. |
IChunkReader |
getChunkReader()
Liefert den IChunkReader , ueber welchen gesendete Datenbloecke des
Kommunikationspartners gelesen werden koennen. |
IChunkWriter |
getChunkWriter()
Liefert den IChunkWriter , ueber welchen Datenbloecke zum
Kommunikationspartner gesendet werden koennen. |
int |
getCurrentState()
Gibt den momentanen Zustand der Verbindung an. |
IAddress |
getLocalAddress()
Gibt die Adresse des lokalen Endpunkt der Verbindung an. |
IAddress |
getRemoteAddress()
Gibt die Adresse des entfernten Endpunkt an. |
int |
getTimeout()
Da Skype nicht das setzen eines TimeOut unterstuetzt, wird entsprechend ein unendliches TimeOut mit der Verbindung verknuepft. |
void |
setTimeout(int value)
Wirft immer eine UnsuportedCommandException , da Skype keine
Unterstuetzung fuer Timeout besitzt. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int IDLE_TIME_OUT
https://developer.skype.com/Docs/ApiDoc/Application_to_application_commands
,
Constant Field Valuesprivate final SkypeConnection.SkypeReader m_reader
private final SkypeConnection.SkypeWriter m_writer
private final SkypeAddress m_localAddress
private final SkypeAddress m_remoteAddress
private final Application m_application
private final Stream m_appStream
private int m_state
private ApplicationListener m_listner
Constructor Detail |
---|
public SkypeConnection(Stream a_appStream)
Adresse des lokalen und entfernten Endpunktes werden dynamisch bestimmt und Instanzen von Reade und Writer initalisiert.
a_appStream
- Der Stream welcher als Basis der Verbindung agiert.Method Detail |
---|
public IChunkReader getChunkReader()
IChunkConnection
IChunkReader
, ueber welchen gesendete Datenbloecke des
Kommunikationspartners gelesen werden koennen.
getChunkReader
in interface IChunkConnection
public IChunkWriter getChunkWriter()
IChunkConnection
IChunkWriter
, ueber welchen Datenbloecke zum
Kommunikationspartner gesendet werden koennen.
getChunkWriter
in interface IChunkConnection
public int getCurrentState()
IConnection
Die Belegung sollte dabei den in ConnectionState
definierten
Konstanten folgen.
getCurrentState
in interface IConnection
public IAddress getLocalAddress()
IConnection
Fuer Implentierungen, welche eine Bereits eingerichte Verbindung kapsel um weitere Funktionalitaet bereitzustellen, sollte diese Methode die Adresse der drunterlegenen Verbindung zurueckgeben.
getLocalAddress
in interface IConnection
public IAddress getRemoteAddress()
IConnection
Fuer Implentierungen, welche eine Bereits eingerichte Verbindung kapsel um weitere Funktionalitaet bereitzustellen, sollte diese Methode die Adresse der drunterlegenen Verbindung zurueckgeben.
getRemoteAddress
in interface IConnection
public int getTimeout() throws ConnectionException
getTimeout
in interface IConnection
ConnectionException
- Wird geworfen, wenn der Wert nicht ermittelt werden kann.public void setTimeout(int value) throws ConnectionException
UnsuportedCommandException
, da Skype keine
Unterstuetzung fuer Timeout besitzt.
setTimeout
in interface IConnection
ConnectionException
- Wird geworfen, wenn das setzen des TimeOut nicht moegliche
war. Insbesondere kann durch eine
UnsuportedCommandException
Ausnahme angegben werde,
das das setzen generell nicht moeglich ist.public void close(boolean a_disconnectStream) throws java.io.IOException
Gegebenfalls wird noch versucht den Stream zu schliessen.
a_disconnectStream
- Gibt an ob auch Versucht werden soll den Stream zu schliessen.
java.io.IOException
public void close() throws java.io.IOException
Es wird auf jeden Fall versucht den Stream zu schliessen.
close
in interface IConnection
java.io.IOException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |