Η παρακάτω παρουσίαση αποτελεί την πρώτη ενημέρωση σχετικά με την πρόοδο της εργασίας.
Έως τώρα έχει κριθεί αναγκαία η δημιουργία 5 class και η χρήση μιας ακόμα opensource class η οποία έχει να κάνει με τον χειρισμό των numeric String.
Παρακάτω ακολουθεί μια πιο λεπτομερής παρουσίαση των class που προαναφέρθηκαν καθώς επίσης γίνεται αναφορά στην βασική λειτουργικότητά τους.
H class ConsoleIO αναλαμβάνει να εμφανίσει στον χρήστη ένα μενού στο οποίο ζητάται να καθοριστούν οι τιμές των Configuration paremeters. Στην συνέχεια η ίδια class αποθηκεύει αυτές τις τιμές. Διαθέτει επίσης μεθόδους public με τις μπορούν να προσπελαστούν οι τιμές των παραμέτρων b, L, M .
H FindIP class είναι υπεύθυνη να εντοπίσει την IP address του localhost. Πιο συγκεκριμένα η μέθοδος getIP() επιστρέφει ένα String το οποίο είναι στην ουσία η IP address του peer.
Η SHA1 class είναι υπεύθυνη για την υλοποίηση της SHA1 συνάρτησης. Πιο συγκεκριμένα η μέθοδος convert() παίρνει ως όρισμα ένα String -που θα μπορούσε να είναι η IP του peer, και επιστρέφει ένα byte[] -το οποίο θα μπορούσε να παριστάνει το id του peer .
Η IDhandler class αναλαμβάνει να χειριστεί το id που επιστρέφει η συνάρτηση convert() -που υλοποιείται στην SHA1 class. Διαθέτει την μέθοδο IDasByteArray() η οποία δέχεται σαν είσοδο το byte[] που επιστρέφει η convert(). Σκοπός της είναι να επιστρέψει το byte[] της convert() ως ένα numeric String το οποίο θα είναι εκφρασμένο σε εκείνη την βάση (2^b, όπου b μια απο τις configuration parameters ) που επιλέγει ο χρήστης κατά την εμφάνιση του μενού καθορισμού των configuration parameters .
Η Node class αναπαριστά τον κάθε peer του συστήματος και περιλαμβάνει όλες εκείνες τις λειτουργίες για την δημιουργία, διαχείρηση και ενημέρωση των leaf set, routing table και neighborhood list.
Αποτελεί μια υλοποίηση που διαχειρίζεται με μεγάλη αποδοτικότητα και αξιοπιστία τις συγκρίσεις numeric String .Επιλέξαμε να μην χρησιμοποιήσουμε την String class της Java και τις μεθόδους που αυτή παρέχει καθώς η σύγκριση των String γίνεται με λεξικογραφικά κριτήρια, ενώ εμείς επιθυμούμε την εφαρμογή αριθμητικών κριτηρίων. Να τονίσουμε πως η υλοποίηση της τάξης αυτής διατίθεται ελεύθερα στο διαδύκτιο .
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου