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 @@ - - -remoteExceptionremoteExceptionexceptionexceptionClientManagementUDP- 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()RunnableRun...ClientP2P- String host- int port- String directory+ void main()java.net.DatagramSocketjava.net.DatagramSocket java.net.SocketExceptionjava.net.SocketExceptionjava.nio.file.Pathsjava.nio.file.Pathsjava.nio.file.Filesjava.nio.file.Filesjava.util.Arraysjava.util.ArraysInternalErrorInternalErrorProtocolErrorProtocolErrorSizeErrorSizeErrorTransmissionErrorTransmissionErrorVersionErrorVersionErrorEmptyDirectoryEmptyDirectoryEmptyFileEmptyFileInternalRemoteErrorInternalRemoteErrorNotFoundNotFoundProtocolRemoteErrorProtocolRemoteErrorVersionRemoteErrorVersionRemoteErrorjava.net.InetAddressjava.net.InetAddressjava.io.IOExceptionjava.io.IOExceptionjava.util.Scannerjava.util.Scannerjava.io.Filejava.io.Filejava.net.UnknownHostExceptionjava.net.UnknownHostExceptionDirectories+ 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 @@ - - -remoteExceptionremoteExceptionexceptionexceptionInternalErrorInternalErrorProtocolErrorProtocolErrorSizeErrorSizeErrorTransmissionErrorTransmissionErrorVersionErrorVersionErrorEmptyDirectoryEmptyDirectoryEmptyFileEmptyFileInternalRemoteErrorInternalRemoteErrorNotFoundNotFoundProtocolRemoteErrorProtocolRemoteErrorVersionRemoteErrorVersionRemoteErrorCodeTypeCodeTypeRequestResponseCode+ 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 @@ - - -DownloadDownloadList filesList filestest existencetest existenceClientClientServerServer \ 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 @@ +7V1bc5s4FP41nj6lA4ibHxMnbXe23elu2m33kRjFVoORB+TEzq9fCYRBF98NcmPvTLeWLGT4znd0LjqiPTCYzD9m0XT8Bccw6TlWPO+B257j2G5g079Yz4L3hI5f9owyFPO+uuMevULeafHeGYphLgwkGCcETcXOIU5TOCRCX5Rl+EUc9ogT8Ven0QgqHffDKFF7f6CYjMve0Anq/k8QjcbVL9t+v/xmElWD+ZPk4yjGL40ucNcDgwxjUn6azAcwYehVuJTXfVjx7fLGMpiSbS6YTz89jZ58++aL771++dO6vfl+deWE5TTPUTLjT/ydoATlEYGzjN84WVRo0GeYso+zSXI9JDjrgZtnmBFE8focPcDkK84RQTilQx4wIXhCByTsi5to+DTK8CyNBzhh19HZwGPxX2OO6wSN2LUET2nvmEwS2rDpRzwjCUrhYClki3byO6fXwvlKTOwl0pSjEE8gyRZ0CL+gks2Snbz9Uosa8K5xQ8o+74s4uUbLiWv86Qcugh3EAVxFHIoMChRhzEF4GSMC76fRkH37QpVQBO4IGNmOJ4DkqBiFgQYk27Zag8lTYLpf5KQ3AL3rcAIVyOjDExGXiDNtSEGAmYaCExTH7PKbDOboNXoopmKATzFKSfFA3k3Pu2VzzQilfbFwdQe5r0HcaQ1v/wRp6YkYuRpaanXXaw2lQEHpejpNKKuKJfG3J+VmwHXLQGukrG6nASmMqe3mTZyRMR7hNEru6t4bkaX1mM+YmZwCql+QkAV3RBiKoozgHJGfjc//sanee7x1O+czF41F1Ujp8/5sNhpXsWZ9WdGqroujfFzca/FjaXzN/BnGjyTKczQsOz+gRNQqBsJ6EVPM8Cwb8lGDfG799eGn9/Hljx/5693zX4PJ6IrrN4myESTrhODqOZPBhLL+WbwRHQWKS+mDRYvGAE7neuavrKOmIrCl9TH0JDqVM9bkWt7a/nzzL3wzzzf/JPhW2edj8W0dJA1r8q1wcPpJ+ddwzMBSfXQ6NQ2O4LZGWCMtxUystgmBBEygGgXb1ViF4AhWQYua6kBfPz6i4ZgBZSU0kqQxIG0imOWGkQOiNbVNI6fxqd/BNIMjlJOsgC+aMRXNaChnnHYieF6X4OntYHAxDscwDlpwq7xP687IQRSoWFzrz136jBeHq8phXru0QgNNLNmtqlQJsouqtKAqYFs/yoQb5VW538rm+VLGUh7vHzbesyyJrS2EBUBR+38gczdKl8Og5oPQfy9F7MbN5BbpTa2+NBV5T6XcZwGQFbmd2MfdUmeBXtwNYXoaWVZ9u6m2oltOlczlXArlvE75mPyqNUq6vCE+USCTrcRBmehY+qq6uU19ZQKk/0/xxKju+pbo4IIu46rVBmMTbHBO6APqkp3dgicte1Xmxhh41boroodTGljNUAbpN7O0DkxPCrxOI3o9eKpjvSIRYj0kePhk2OiGpwafo8D3b4lbhh5RmRZ5x9baom+UIf6J9sfvToaWoXNytFQdPxWhE/JlRPdF8Gx6x/NlOAYbfRl7hbi7cWaALWqpt68zA3xxIrdjZ8b2Vc51EEvvS9vNofDBXvp+XF5reDaT2dKT+UCWXnmOyFKwJ0vtUHKI+t5WLN05vpfUyrG8tfe1YXw78Xr1mxeVaUNlrG1VxmlFZQJpXZeX462DVMkL9ux2NCYI5UKf9RqzYXxLGvPmE7ZbaFlbGrNtwtZrRV+WbnSVZ5Atw9YKY0s7cmFLJkZOIYMNKWHpAXce34WCATMmiStYrVRbqRhtfIUZos/MStRk9UlxCgXdsY6rLlW98uZk6aE7HIeVAvIlUwgO/WjCAuOEFJA0WygdJrMYLjtHwhDekhjyu5UPgioRsay15itGs2Czy/pBV03KnbuMPDnLoqmH71ZGau7v3GUUuLIemZaRmmBcJ6NijyDO37SMgOWKXoSm6KLfqYx0ycrz1iNP8liBcT3SbY6fuYyk81lVQYc5Gam7xxOUsw08yHZKhtFwzBoxK5TM2LEPRQQmN02W6XNzu8hABeRtpRIM1n65PDTeGBu5hyYTDtMhtZSAbYXPEsLPSZ2K+vhWcGLq4+ncYQmh7s/hiSgFujUaABUl0G8Lpgr/yyrTwiqzPIW/aZVxjNSYArm8LFyf8JPHh15f4l8LCb9AVdsLQTsnaLBiYTttgvbdDjLSoX0hqHmChkepK+iaoLYFOmCoo7pCd8JhtVnKIrFozQH8To/hhGLWLnBN16QGRjed3rqKb1vTHxgNxRw15fRIHy1FTIESqkpMhY51XPbAuloxlWFef6rcyqWOaPeqiM2xg7uTLT16XQTgUcCSbvvWRQS+OJHbUiERkI55Ska7JRusZnLq5cN8/kZeM8KKVebyN44C2LcVx+l/t1S97YnbKbo0UKfvrPLULa/7IjdfHm/IxVcbxEd8tcGB57VFHH0Njh3n7C/ZtPYcRW9bR9E1Ws/kqY4inZjqDvsx+ucXnhUuIzyRhV+qKzefuNe9QO+893blerCldTC1t+upr0I9exlJqR3dy0M6lZF/qQfbVCNhXI981ck993owuWZPJ6NO68F81Z7/PaPXKSlTK0b5FOfLopZTOAssm/e+aevu72bdz4HxcgWkbdmGGa++nPfcZeT4Un7E7RuW0W4e2DnICFjiWheYthyB6oHpIsHixRGnEAnK78DqG38HVrBbne85sFxeifpA3d3pluVqnW9jYywqEjaocJcMklt+SZT5PbFgt2Nv50Btz5bKI00v4FUsuJra1cZvXLwtuREOmN4Cltdy2zKeHK/KOi6Mbyzmcj2Q09pqTpv1P6BUbmvW/w4VuPsf \ 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 @@ + + +UtilisateurUtili...SystèmeSystèmeApplicationApplicationTéléchargerTéléchargerAfficher les fichiersAfficher les fichiersS'enregistrer au trackerS'enregistrer au trackerEnvoyerEnvoyerRechercherRechercherRechercher par nomRechercher par nomRechercher par extentionRechercher par extentionReconstruire un fichierReconstruire un fichierTélécharger blockTélécharger blockVérifier l'intégrité d'un fichierVérifier l'intégrité d'...<<include>><<include>><<include>><<include>><<include>><<include>><<extends>><<extends>><<include>><<include>><<include>><<include>>mise en cache du ratiomise en cache du ratioconsultation du ratioconsultation du ratioEnregistrer une applicationEnregistrer une applica...fournir liste fichiersfournir liste fichiersfournir ratiofournir ratioTrackerTrackerSe désenregistrer du trackerSe désenregistrer du tr...mettre a jour le ratiomettre a jour le ratio<<include>><<include>><<include>><<include>><<include>><<include>><<extends>><<extends>>Quelle application dispose du fichierQuelle application disp...<<extends>><<extends>><<extends>><<extends>><<extends>><<extends>>mettre a jour un ratiomettre a jour un ratio<<extends>><<extends>>fournir la taillefournir la taille<<extends>><<extends>>fournir la liste des applicationsfournir 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
java.net.DatagramSocket