Package me.panjohnny.jip.transport
Class Packet
java.lang.Object
me.panjohnny.jip.transport.Packet
- Direct Known Subclasses:
HandshakePacket
,RequestPacket
,ResponsePacket
Reprezentuje paket, ten je jednotkou přenosu mezi klientem a serverem.
Paket může obsahovat data nebo být spojen s datovým proudem.
Třída poskytuje metody pro přípravu, šifrování a dešifrování dat.
- Since:
- 1.0
- Author:
- Jan Štefanča
- See Also:
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
connectStream
(InputStream stream, long len) Spojí datový proud s tímto paketem.decryptData
(SecurityLayer securityLayer) Dešifruje paket pomocí bezpečnostní vrstvy.encryptData
(SecurityLayer securityLayer) Zašifruje paket pomocí bezpečnostní vrstvy.void
free()
Smaže všechna data.Vrátí spojený datový proud.getData()
Vrátí data paketu.int
Vrátí délku paketu.long
Vrátí délku spojeného datového proudu.boolean
Zjistí, zda je spojený datový proud.void
prepare()
Slouží k přípravě paketu.void
setLength
(int length) Nastaví délku paketu.void
Aktualizuje délku paketu na základě dat a délky proudu.void
Použije data pro tento paket.
-
Field Details
-
length
public byte[] length -
data
-
stream
-
streamLen
protected long streamLen
-
-
Constructor Details
-
Packet
public Packet(byte[] length, byte[] data) Vytvoří nový paket se specifikovanou délkou a daty.- Parameters:
length
- délka datdata
- data paketu
-
Packet
public Packet(int length, byte[] data) Vytvoří nový paket se specifikovanou délkou a daty.- Parameters:
length
- délka datdata
- data paketu
-
Packet
public Packet()Vytvoří nový prázdný paket.
-
-
Method Details
-
setLength
public void setLength(int length) Nastaví délku paketu.- Parameters:
length
- délka paketu
-
getLength
public int getLength()Vrátí délku paketu.- Returns:
- délka paketu
-
useData
-
updateLen
public void updateLen()Aktualizuje délku paketu na základě dat a délky proudu. -
getData
-
connectStream
Spojí datový proud s tímto paketem. Proud je poté zašifrován a odeslán jako data.- Parameters:
stream
- datový proud ke spojení s tímto paketemlen
- délka dat, která mají být přečtena z proudu
-
getConnectedStream
-
getStreamLen
public long getStreamLen()Vrátí délku spojeného datového proudu.- Returns:
- délka spojeného datového proudu
-
hasConnectedStream
public boolean hasConnectedStream()Zjistí, zda je spojený datový proud.- Returns:
- true, pokud je spojený datový proud, jinak false
-
prepare
public void prepare()Slouží k přípravě paketu. -
free
public void free()Smaže všechna data. -
encryptData
Zašifruje paket pomocí bezpečnostní vrstvy.- Parameters:
securityLayer
- bezpečnostní vrstva- Returns:
- zašifrovaný paket (aktuální instance)
- Throws:
SecureTransportException
- pokud dojde k chybě při šifrování
-
decryptData
Dešifruje paket pomocí bezpečnostní vrstvy.- Parameters:
securityLayer
- bezpečnostní vrstva- Returns:
- dešifrovaný paket (aktuální instance)
- Throws:
SecureTransportException
- pokud dojde k chybě při dešifrování
-