anon.transport.connection
Class SkypeConnection.SkypeWriter

java.lang.Object
  extended by anon.transport.connection.SkypeConnection.SkypeWriter
All Implemented Interfaces:
IChunkWriter
Enclosing class:
SkypeConnection

private static class SkypeConnection.SkypeWriter
extends java.lang.Object
implements IChunkWriter

Umsetzung eines IChunkWriter welcher speziell auf die Eigenheiten der Skype Verbindung zugeschnitten ist.

Die Uebertragung erfolgt indem die eigentlichen binaer Daten mit Hilfe von Base64 in einen String umgewandelt werden. Dies erfolgt in Anlehnung an den Hinweis in https://developer.skype.com/Docs/ApiDoc/Application_to_application_commands


Field Summary
private  Stream m_appStream
          Das Skype Stream Object, welches den Kanal ueber Skype repraesentiert.
private  boolean m_isClosed
          gibt an ob der Writer offen oder geschlossen ist.
 
Constructor Summary
SkypeConnection.SkypeWriter(Stream a_appStream)
          Erstellt einen neuen Writer af Basis des uebergebenen Skype Stream
 
Method Summary
 void close()
          Schliesst der Reader aber laesst den internen Stream unberuehrt, da dieser die komplette Verbindung repraesentiert.
 void writeChunk(byte[] a_chunk)
          Versucht einen Chunk mit Hilfe von Skype zu uebertragen.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_appStream

private Stream m_appStream
Das Skype Stream Object, welches den Kanal ueber Skype repraesentiert.


m_isClosed

private boolean m_isClosed
gibt an ob der Writer offen oder geschlossen ist.

Constructor Detail

SkypeConnection.SkypeWriter

public SkypeConnection.SkypeWriter(Stream a_appStream)
Erstellt einen neuen Writer af Basis des uebergebenen Skype Stream

Parameters:
a_appStream - Der Skype Stream, welcher zur Uebertragung von Daten genutzt werden soll.
Method Detail

writeChunk

public void writeChunk(byte[] a_chunk)
                throws ConnectionException
Versucht einen Chunk mit Hilfe von Skype zu uebertragen. Nach IChunkWriter.writeChunk(byte[]) blockiert der Aufruf, bis der Chunk in den Kanal eingefuegt werden konnte oder gibt das Scheitern dieses Versuches durch eine entsprechende Ausnahme an.

die Uebertragung erfolgt dabei, indem der Inhalt des Chunks Base64 kodiert uebertragen werden.

Specified by:
writeChunk in interface IChunkWriter
Throws:
ConnectionException

close

public void close()
           throws java.io.IOException
Schliesst der Reader aber laesst den internen Stream unberuehrt, da dieser die komplette Verbindung repraesentiert.

Specified by:
close in interface IChunkWriter
Throws:
java.io.IOException