diff --git a/doc/1.1/classdiagram-Page-1-1.1.svg b/doc/1.1/classdiagram-Page-1-1.1.svg deleted file mode 100644 index d7490c2..0000000 --- a/doc/1.1/classdiagram-Page-1-1.1.svg +++ /dev/null @@ -1,3 +0,0 @@ - - -
remoteException
remoteException
exception
exception
ClientManagementUDP
- String baseDirectory
- int UDPPort
- String host
- DatagramSocket socket
- String baseDirectory...
+ ClientManagementUDP(String baseDirectory, String host, int UDPPort)+ void run()+ void download(String filename) throws EmptyFile, NotFound, InternalError, UnknownHostException,IoException, TransmissionError, ProtocolError, VersionError, SizeError, InternalRemoteError,ProtocolRemoteError, VersionRemoteError+ String[] listDirectory() throws EmptyDirectory, InternalError, UnknownHostException, IOException,TransmissionError, ProtocolError, VersionError, SizeError, InternalRemoteError,ProtocolRemoteError, VersionRemoteErrorServerManagementUDP- String[] fileList- String baseDirectory- int UDPPort- DatagramSocket socket+ ServerManagementUDP(String baseDirectory, int UDPPort)+ void run()- void initFileList()- void sendInternalError(ProtocolP2PDatagram pd)ServerP2P- int port- String directory +void main()
Runnable
Run...
ClientP2P- String host- int port- String directory+ void main()

java.net.DatagramSocket


java.net.DatagramSocket
java.net.SocketException
java.net.SocketException
java.nio.file.Paths
java.nio.file.Paths
java.nio.file.Files
java.nio.file.Files
java.util.Arrays
java.util.Arrays
InternalError
InternalError
ProtocolError
ProtocolError
SizeError
SizeError
TransmissionError
TransmissionError
VersionError
VersionError
EmptyDirectory
EmptyDirectory
EmptyFile
EmptyFile
InternalRemoteError
InternalRemoteError
NotFound
NotFound
ProtocolRemoteError
ProtocolRemoteError
VersionRemoteError
VersionRemoteError
java.net.InetAddress
java.net.InetAddress
java.io.IOException
java.io.IOException
java.util.Scanner
java.util.Scanner
java.io.File
java.io.File
java.net.UnknownHostException
java.net.UnknownHostException
Directories+ String projectName+ String dataHomeDirectory+ String os+ Directories(String projectName)- setDataHomeDirectory()+ void getDataHomeDirectory()- void openDataHomeDirectory()+ void askOpenDataHomeDirectory()+ Directories(String projectName)- setDataHomeDirectory()+ void getDataHomeDirectory()- void openDataHomeDirectory()+ void askOpenDataHomeDirectory()
\ No newline at end of file diff --git a/doc/1.1/classdiagram-Page-2-1.1.svg b/doc/1.1/classdiagram-Page-2-1.1.svg deleted file mode 100644 index 495c35e..0000000 --- a/doc/1.1/classdiagram-Page-2-1.1.svg +++ /dev/null @@ -1,3 +0,0 @@ - - -
remoteException
remoteException
exception
exception
InternalError
InternalError
ProtocolError
ProtocolError
SizeError
SizeError
TransmissionError
TransmissionError
VersionError
VersionError
EmptyDirectory
EmptyDirectory
EmptyFile
EmptyFile
InternalRemoteError
InternalRemoteError
NotFound
NotFound
ProtocolRemoteError
ProtocolRemoteError
VersionRemoteError
VersionRemoteError
CodeType
CodeType
RequestResponseCode+ final CodeType codeType~ final static int RRCODE_POSITION = 1;- RequestResponseCode (CodeType codeType, byte codeValue)~ static RequestResponseCode fromCode(byte code) throws ProtocolErrorProtocolP2PDatagram- final static byte PROTOCOL_VERSION = 0x11- final static int VERSION_POSITON = 0- byte version- Payload payload- InetAddress hostR- int portR+ ProtocolP2PDatagram(Payload payload)+ void send(DatagramSocket socket, String host, int port)throws InternalError, UnknownHostException,IOException+ void send(DatagramSocket socket,ProtocolP2PDatagram received) throws InternalError,IOException~ void sendResponse(DatagramSocket socket,InetAddress host, int port) throws InternalError,IOException+ static ProtocolP2PDatagram receive(DatagramSocket socket)throws EmptyFile, NotFound, EmptyDirectory, InternalRemoteError,VersionRemoteError, ProtocolRemoteError, TransmissionError,ProtocolError, VersionError, InternalError, SizeError, IOExceptionBytesArraysTools+ static void write(byte[] array, int start, int value)+ static void write(byte[] array, int start, long value)+ static int readInt(byte[], int start)+ static long readLong(byte[], int start)Payload~ RequestResponseCode requestResponseCode~ final static int PAYLOAD_SIZE_POSITION = 4~ final static int PAYLOAD_START_POSITION = 8;+Payload(RequestResponseCode requestResponseCode) throws InternalError~ Payload(byte[] datagram) throws SizeError, ProtocolError, InternalError,TransmissionError- void checkRequestResponseCode() throws InternalError~ protected byte[] toDatagram() throws InternalError~ static void setPayloadSize(int size, byte[] datagram) throws InternalError~ static int getPayloadSize(byte[] datagram) throws SizeError+ RequestResponseCode getRequestResponseCode()LoadRequest- String filename+ LoadRequest(String filename) throws InternalError~ LoadRequest(byte[] datagram) throws TransmissionError,SizeError, ProtocolError, InternalError~ byte[] toDatagram() throws InternalError+ String getFilename()FilePart- String filename- long totalSize- long offest- byte[] partialContent+ FilePart(String filename, long totalSize, long offset, byte[] partialContent) throws InternalError~ FilePart(byte[] datagram) throws TransmissionError, SizeError, ProtocolError, InternalError~ byte[] toDatagram() throws InternalError- void setOffset(byte[] datagram) throws SizeError- void setTotalSize(byte[] datagram) throws SizeError- int getFilenameSize(byte[] datagram) throws SizeError, ProtocolError- void setFilename(byte[] datagram) throws ProtocolError, SizeError, InternalError- void setPartialContent(byte[] datagram) throws ProtocolError, SizeError+ byte[] getPartialContent()+ String getFilename()+ long getOffset()+ long getTotalSize()FileList- String[] fileListFileList(String[] fileList) throws InternalError~ FileList(byte[] datagram) throws TransmissionError, SizeError, ProtocolError, InternalError~ byte[] toDatagram() throws InternalError+ String[] getFileList()
\ No newline at end of file diff --git a/doc/1.1/usecase-1.1.svg b/doc/1.1/usecase-1.1.svg deleted file mode 100644 index 9160b70..0000000 --- a/doc/1.1/usecase-1.1.svg +++ /dev/null @@ -1,3 +0,0 @@ - - -
Download
Download
List files
List files
test existence
test existence
Client
Client
Server
Server
\ No newline at end of file diff --git a/doc/usecase.drawio b/doc/usecase.drawio new file mode 100644 index 0000000..6192f06 --- /dev/null +++ b/doc/usecase.drawio @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/doc/usecase.svg b/doc/usecase.svg new file mode 100644 index 0000000..c397197 --- /dev/null +++ b/doc/usecase.svg @@ -0,0 +1,3 @@ + + +
Utilisateur
Utili...
Système
Système
Application
Application
Télécharger
Télécharger
Afficher les fichiers
Afficher les fichiers
S'enregistrer au tracker
S'enregistrer au tracker
Envoyer
Envoyer
Rechercher
Rechercher
Rechercher par nom
Rechercher par nom
Rechercher par extention
Rechercher par extention
Reconstruire un fichier
Reconstruire un fichier
Télécharger block
Télécharger block
Vérifier l'intégrité d'un fichier
Vérifier l'intégrité d'...
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
<<extends>>
<<extends>>
<<include>>
<<include>>
<<include>>
<<include>>
mise en cache du ratio
mise en cache du ratio
consultation du ratio
consultation du ratio
Enregistrer une application
Enregistrer une applica...
fournir liste fichiers
fournir liste fichiers
fournir ratio
fournir ratio
Tracker
Tracker
Se désenregistrer du tracker
Se désenregistrer du tr...
mettre a jour le ratio
mettre a jour le ratio
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
<<extends>>
<<extends>>
Quelle application dispose du fichier
Quelle application disp...
<<extends>>
<<extends>>
<<extends>>
<<extends>>
<<extends>>
<<extends>>
mettre a jour un ratio
mettre a jour un ratio
<<extends>>
<<extends>>
fournir la taille
fournir la taille
<<extends>>
<<extends>>
fournir la liste des applications
fournir la liste des ap...
<<extends>>
<<extends>>
Viewer does not support full SVG 1.1
\ No newline at end of file diff --git a/doc/usecase.xml b/doc/usecase.xml deleted file mode 100644 index 6a28903..0000000 --- a/doc/usecase.xml +++ /dev/null @@ -1 +0,0 @@ -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 \ No newline at end of file