From 88b28eeb52dce60295ef6f6267c108f3148e171c Mon Sep 17 00:00:00 2001 From: Daniel <dl3g19@soton.ac.uk> Date: Fri, 23 Apr 2021 16:06:33 +0100 Subject: [PATCH] Solved problem with having multiple dstores connect. Problem with receiving messages not solved though. --- ClientMain.class | Bin 3291 -> 3428 bytes ClientMain.java | 4 +- Controller$1AcksReceived.class | Bin 562 -> 562 bytes Controller$IndexEntry.class | Bin 2012 -> 2040 bytes Controller$RebalanceMessages.class | Bin 0 -> 513 bytes Controller$RebalanceThread.class | Bin 890 -> 890 bytes Controller$Reloader.class | Bin 436 -> 436 bytes Controller.class | Bin 14191 -> 15913 bytes Controller.java | 88 ++++++++++++++++++++--------- Dstore.class | Bin 10024 -> 10483 bytes Dstore.java | 18 ++++-- DstoreConnection.class | Bin 2519 -> 3284 bytes DstoreConnection.java | 53 +++++++++++++---- client_1618914098636.log | 1 - client_1618914115362.log | 19 ------- client_1618916214881.log | 19 ------- client_1618917382748.log | 19 ------- client_1618917653577.log | 16 ------ client_1618917705050.log | 16 ------ client_1618918167755.log | 16 ------ client_1618918283040.log | 10 ---- client_1618918339157.log | 10 ---- client_1618918660778.log | 19 ------- client_1618919054780.log | 19 ------- client_1618919710976.log | 19 ------- client_1618922219091.log | 16 ------ client_1619002254815.log | 16 ------ client_1619002688932.log | 18 ------ client_1619002774548.log | 17 ------ client_1619002831484.log | 27 --------- client_1619015946719.log | 57 ------------------- client_1619016557204.log | 48 ---------------- client_1619016975115.log | 32 ----------- client_1619017037535.log | 48 ---------------- client_1619017290151.log | 57 ------------------- client_1619017624104.log | 48 ---------------- client_1619018158905.log | 61 -------------------- client_1619018768533.log | 62 -------------------- client_1619019036315.log | 65 --------------------- client_1619019325145.log | 65 --------------------- client_1619019601175.log | 61 -------------------- client_1619019802665.log | 65 --------------------- client_1619025053448.log | 62 -------------------- client_1619025357100.log | 65 --------------------- client_1619025636890.log | 62 -------------------- client_1619025719814.log | 65 --------------------- client_1619034515898.log | 65 --------------------- client_1619034593200.log | 41 -------------- client_1619036545308.log | 44 --------------- client_1619039097527.log | 26 --------- client_1619039957471.log | 26 --------- downloads/Grandad.txt | 14 +++++ downloads/PumpkinHill.txt | 68 ++++++++++++++++++++++ downloads/SnowHalation.txt | 36 ++++++++++++ store1/AllStar.txt | 69 ++++++++++++++++++++++ store1/Grandad.txt | 15 +++++ store1/PumpkinHill.txt | 69 ++++++++++++++++++++++ store1/SnowHalation.txt | 37 ++++++++++++ store1/Unknown.txt | 75 ++++++++++++++++++++++++ store2/AllStar.txt | 69 ++++++++++++++++++++++ store2/Grandad.txt | 15 +++++ store2/PumpkinHill.txt | 69 ++++++++++++++++++++++ store2/SnowHalation.txt | 37 ++++++++++++ store2/Unknown.txt | 75 ++++++++++++++++++++++++ store3/AllStar.txt | 69 ++++++++++++++++++++++ store3/Grandad.txt | 15 +++++ store3/PumpkinHill.txt | 69 ++++++++++++++++++++++ store3/SnowHalation.txt | 37 ++++++++++++ store3/Unknown.txt | 75 ++++++++++++++++++++++++ store4/AllStar.txt | 69 ++++++++++++++++++++++ store4/Grandad.txt | 15 +++++ store4/PumpkinHill.txt | 69 ++++++++++++++++++++++ store4/SnowHalation.txt | 37 ++++++++++++ store4/Unknown.txt | 75 ++++++++++++++++++++++++ 74 files changed, 1295 insertions(+), 1448 deletions(-) create mode 100644 Controller$RebalanceMessages.class delete mode 100644 client_1618914098636.log delete mode 100644 client_1618914115362.log delete mode 100644 client_1618916214881.log delete mode 100644 client_1618917382748.log delete mode 100644 client_1618917653577.log delete mode 100644 client_1618917705050.log delete mode 100644 client_1618918167755.log delete mode 100644 client_1618918283040.log delete mode 100644 client_1618918339157.log delete mode 100644 client_1618918660778.log delete mode 100644 client_1618919054780.log delete mode 100644 client_1618919710976.log delete mode 100644 client_1618922219091.log delete mode 100644 client_1619002254815.log delete mode 100644 client_1619002688932.log delete mode 100644 client_1619002774548.log delete mode 100644 client_1619002831484.log delete mode 100644 client_1619015946719.log delete mode 100644 client_1619016557204.log delete mode 100644 client_1619016975115.log delete mode 100644 client_1619017037535.log delete mode 100644 client_1619017290151.log delete mode 100644 client_1619017624104.log delete mode 100644 client_1619018158905.log delete mode 100644 client_1619018768533.log delete mode 100644 client_1619019036315.log delete mode 100644 client_1619019325145.log delete mode 100644 client_1619019601175.log delete mode 100644 client_1619019802665.log delete mode 100644 client_1619025053448.log delete mode 100644 client_1619025357100.log delete mode 100644 client_1619025636890.log delete mode 100644 client_1619025719814.log delete mode 100644 client_1619034515898.log delete mode 100644 client_1619034593200.log delete mode 100644 client_1619036545308.log delete mode 100644 client_1619039097527.log delete mode 100644 client_1619039957471.log create mode 100644 downloads/Grandad.txt create mode 100644 downloads/PumpkinHill.txt create mode 100644 downloads/SnowHalation.txt create mode 100644 store1/AllStar.txt create mode 100644 store1/Grandad.txt create mode 100644 store1/PumpkinHill.txt create mode 100644 store1/SnowHalation.txt create mode 100644 store1/Unknown.txt create mode 100644 store2/AllStar.txt create mode 100644 store2/Grandad.txt create mode 100644 store2/PumpkinHill.txt create mode 100644 store2/SnowHalation.txt create mode 100644 store2/Unknown.txt create mode 100644 store3/AllStar.txt create mode 100644 store3/Grandad.txt create mode 100644 store3/PumpkinHill.txt create mode 100644 store3/SnowHalation.txt create mode 100644 store3/Unknown.txt create mode 100644 store4/AllStar.txt create mode 100644 store4/Grandad.txt create mode 100644 store4/PumpkinHill.txt create mode 100644 store4/SnowHalation.txt create mode 100644 store4/Unknown.txt diff --git a/ClientMain.class b/ClientMain.class index 6bfec562108a26e9f8065e1feb16b11e6c7d8ab8..250637acb0fc3986e4b8af3524b3940bd8e03e7f 100644 GIT binary patch delta 1120 zcmcaD`9zBA)W2Q(7#J9=7&dR@@?)uIWdH-lFI)`y3<c~Ag**&J48@EL0$GV=iTXK- zdFlEg8AYjyDU1xP#W|^|1&j<V8eW=V><p!h3~~rXo_QsyMMb3rC8;T{70IauC7Jno zTnr@)AzTc03>7>Kl?+vk3@kaB#U+dkvKl_lIhm<>CDxjg%UHzOYIqoG8R{laW-;V% z;9+QF5Mg9s&Mz(DU}&CvnMH}M6{Ndu@^2OywhkT!X@<_pvaB*}-5_SqWP8?9smY8C z!qGkmw*;3IW#*+@volPce2!I>amM5?tbu%Uxftd#%x7m<0MfT`axmKw#>JB**yS0Q zPPSmT(Ou5Sz~i5-qrj+;mYI`UY{kK_l97QmnlV;^k&%JNGcPZ-$T=smxHz?#ong)7 zh3t|n>lqnTC)cy7vavI4WMq(=T+b#qnVmyUr<Z|&L6(7$fsuiMfmLfe1LH;p1_nlk zJ_ZH`Hn1QI11Cd2!vqFKhTh46994{clh1J28&70lV31&7{?8!Fz|77tiII_kk)458 z`VWH!JA)<zCxat{6G#UG1Je}-Rt8=M21cIAcASZf=93q2il~b)<m_O`Th1V2#VN_T zjUjkB0~dr<*22!X{Qn6?D^}ed4CRwga~d*MPyWkkSI^DB&mhbo#t_J$$e_xg!4S!i z$xy>k&kzWvI~htCW-`oYSi}&>aDw4H!zG45hQ|!g8D23&GB7d7GJIiRU@%~~52k-H z{9|Nfh-CP}@D0po0{b<ML6U)iL6w1tL6d=>L7PFA!Jk2qA%H=jL7TyVK{tTGpFy7? zlfi(YhQWxTp23izjlqav0)sxoGzJHTnGB8$D;b;_)-kv+oM3QexXIwcaG$}S;W0x1 z!xsjBhF=T;j2sMsjNA-C44{Df#2_;H8<$o6BuL0H{AW;R;ACWEXV7G4aAs$K2(vT9 zfWkD;lbxaD7X#Z52G;)!+zf1}%D^hv{xJxEP5RFu&cKDL04xqO>K6mse+E_t7O0ZR ztGT%(ru=8%Vc>y^ID>N+0|Pt5l*wngB{V7-su-9UKuKgS12Y3V0|SHiCWd;Urfm$e zTH6>}d^R!EYwz2|&_0=$N4~yZriF=7l5H157X!mK2H6%?#^wL-Yj0p+V1NX%5(5VV z14AeS2SXSGFGB=_6hkC~3_}!y5koYCGeZ=ECqpbabR-y<{xhgDutCCt5$pp7h93;d z4Aa1gl8GUZVLAgd!%VQrvlwPGFfd3luoy7RVPIrf1SXe&$z@=21;Z)^1_mJpCI&Z# S)eLJLBpKE*Y+%^LAPE2=*zFqt delta 946 zcmaDNbz73_)W2Q(7#J9=7*=fL@?+uRVz6V#<zdKU$e(<eMVqaVhoOj}c=8t(L;g}8 zhB5{bMh52m(h?4aipeIdN^DgimDQ7DSY_C1c^IS_>L%B*%CI$nn2nPcu$HoPFfs^F zPGl8kW@qS{tk0&(*gH9tEs$>#7sF(RDeMeWK`N(B-okc-amM6Ic6r8GlV`Hqc+FvC z;PKDaQD9U^%gjkFw&Gxz$H>4M%^0h|$jHFsnU|MZ<eZaOT%20W&ajY?fz2mBJw3IE zk%1e;$jnO*sVqokXIR3>pgQ>hn<^VS!!kw&xycXM<R)iu$mujOFfhn6FfuSQFfg!c zZD(NI$iTqB$k5Edz`zC;WMSZBXkln&U}R{TyosZVv3asCr@e6-0|SEu1M`0dQ3hsq zhIU3q21a%UUg<v!8te?344e#(3{D^&3=B+b7+4v285kJ;OrFn~$f!P<kxN8;IRlp! zrzGb#hTs-<#^wKSFj}$d?qJB7Y{O;9STH${%dVb_fuBK`L5v}gL6Jd~L4zTZA(Nqu zp^_nxp_8GXVG=_i!w!c142Kv387?ziXSl@>$-u-Q%kYGOfx&>`JeYpP@Q&dlLnOl! zhG$?t6WC8t3}Orn45|!F44Mr54B8B`489DC41Nsy4B89^47v>d4EhY23<fp~4Gj7W zZ47n{oecI2GZ`Ei<}o-i>|k(aILY9|aGt@J;WC3C!xIKyhF1)J3_lqB8GbVaFn|K( z9fR=XYHq8fc1Wl&{AZA5;ACWEXV7G4aAs$K2(vT9fWj;A7X#Z52G;)!+zf1}O2D#g z{}=?oru=6RXW&9rz|PP<S(-<gv2(ILkC<a8NPQ&Re+DK77MMB)1_n-0%4J|;0LAfK z24)6!1_lQ2O$;SM<=Yr!wYD)-`fOq-(cZU<p=R<l9{KtbnHDBSNw!@K^$ZN#7-U;m z8JGXRuf2hRfdLYBN(>wf3=F{x91I~0ybNIsQVih?G7J$6MhuY*&I}O@o($38Adp~S z`p=-szy|R!BiIWJ3_lo@8M?u#iishRp@)H)p$}|wKf?qD1_mhx76XQf42%rZ!Q@OZ hIU7vQWth*vz#zoH#NfuTfMJn?B*S8cr3}j%BmrROzDfW9 diff --git a/ClientMain.java b/ClientMain.java index e9fd2c5..ec60cc5 100644 --- a/ClientMain.java +++ b/ClientMain.java @@ -45,7 +45,9 @@ public class ClientMain { String[] files = {"AllStar.txt", "Unknown.txt", "PumpkinHill.txt", "SnowHalation.txt", "Grandad.txt"}; for(String file : files) { - try { client.store(new File(file)); } catch(IOException e) { e.printStackTrace(); } + try { client.store(new File(file)); Thread.sleep(500);} + catch(IOException e) { e.printStackTrace(); } + catch(InterruptedException e) {e.printStackTrace();} } /* diff --git a/Controller$1AcksReceived.class b/Controller$1AcksReceived.class index 1adda894aae6bd39f23590b769ff4b17e6e27eb6..836a4049b4d79a563d58278c25364dd2c7f4e3fd 100644 GIT binary patch delta 37 tcmdnQvWaEGTt-eg22Lh<20kW*$;%iGSd|#Kn3N~qX4GO-oy^9h0|1-R2Z8_q delta 37 tcmdnQvWaEGTt-fI22Lgp20kXv$;%iGSh*Rvn0O}NX4GQjo6N?f0|1gs2KWE~ diff --git a/Controller$IndexEntry.class b/Controller$IndexEntry.class index cbc567e13ec9f706a810482255578779dc3de8f2..edc1b21143e21f61a560c0a32373eb534e50f0ff 100644 GIT binary patch delta 1182 zcmcb^|AU|F)W2Q(7#J9=7&0ev<pi+)hXPIpCI$f>20;cPMh1?w%$(HX%&JsI21YM- z1`$RE;jF~6ME%l|%p85kqN2n~pUmPCE(T!+PA&#<1_^csNgf6%25CkH(a8Z!A`>s# zvdQu=$T7%I7GYG9Rpen%Vo+ve;LR(|O-d~a$qz2cF9I3u$-$sH*`HB@O`V59gF$n0 zE~5gsHiHg3gDww)9)tem8H|?Ph73mR48}YRCJd&N?=Tvg8ZwykFjz2HGBU709LTJp z>B+^w!C=k9V8g(}$iSJGUy_+t>6nwl&0xr2$HQRH;4s;VN!`?t!HI{#nZcBifvqSt zH@_?uB=5?@;Ktz2$iSXi?3!CpQpw1`tf3hNlJVqW@M3V7JddeX$4fJek%2oswZsh` zEX*33UW^Rfi76>y&!jk2GBU7ecxr}iwqiDAWK5e}z+zS}$RNbPz`z0u2nI$5Zw3Yi zCI%k{7Eow_#Wff-85jfv7+4wD7#JA185kM38GIQS8T=R+7{VBs8JHLt7__vsw=ytl zZD(ND5@F!o%D}I+n?X2oJA>#B2C=OSGFr@A85FdHRJJmxZDe3zU}W%TU|^5}n<rV% zz{w!RAiyBaAjcrXpv)l4pvfS|pvVxw5D2wIiGi7cnSp_UO-p_&13$t5F0j>#46F=F z42ldv48c(KvJ6ZNj0_A6tXf+b_}9YiV*?ASGAJ^HFoZ&t`Y<r*gH2J^+QJ|sy@Nq( zCxZbKLpX@HlfjIUL2C<x!a@dit!)feAd8t8{3l;z6|N6sU|?WoU<BD4!Vu2D1P%;O z1}3ms3LxFuI~i>88^plCzz6o19s@UnK7%}i0Rz-nd1x#|Feoxa!rkftHC|q8OFhi3 zj&Lhn7#U`wxD#%?F#{ii34<JiDa?3K=tja_?Fuzk2I^`LB8;rJVBlu3WRPaCf|)4| zcQPYG6hkyLL}VEl!GR8n37HLOF<}eU62qX#5DWLE64W_tTGCq?6hL7PNiC4bc4S~> zaAHubW{6{mhejbngEmU?f@pAMU}bP)P-IA8NQA0Kc9R;qn>-nq8Ir&`AekWrOs6uW TGcYi4F)%VPF{CnNFt7js6kDl) delta 1162 zcmeyte}|vz)W2Q(7#J9=7*Zy3<+yM%Ffs7)Fz_=7FfwqYW#*(7XI7;$GBA3wGYBy< z2xldhCF+-!Waj8Q78NB{`eYWDa4`rnaB?w-GKjG=i1RQ=Fi1{39Kt5e!yv;TJ6V=d zNm8DNK>=hOZ(eC`Qfg61esD>CQ7Q+6(&QLM2{siT22}>N$yJOB+!_p;><n5w4B8Aj zlb14Da_ceZvojd*Fc>lzO@7H}XsX9x!oy(7V8+P60&x|yhNdSM0|$cz4}&EG4<iF- zUVcetTBT!74mX1ygEbF>4TJ4ue<pQPJqCLo1_uTsMh3Q`)ZF~CRFJ$A4}&v<3nK%2 zX0dB-K}jVe1G9!^6iCL6hryk}cJgYbT6s^+Fh&OM^wbhJcvx^Jrlf$qkm6LiIfU7i zkuh;{7mHavKZ5`R0|N`l-wccl9t;c&Obnh3EFjN=#Z?*97#IWu7+4wD7#JA185kM3 z8N3)68N3-77(y7B8JHLt7&NrBw=ytlZD(NDV%o~UtF@a!FmgMC@D2u%tqf9H%v%}c zw1gD5GAM6kU|?Wm@L^zJkOG?~$-r69AjQDPAk84dAj6=@Aj_c6AjhD{;LG3#wL*!3 z32X(Mmh@HzUW5T$U{OT|Rt6;oMFxKcGpKr521W)(1_lOJtt||^YvA^=fdy3=6d3~G zM*Dz_u4iCiP}bVQASJznL47BKE)zpIh_{o$n2|wi3xnK326nA&4CWw<nZPdRV_;@r zV9;dXW6)wyV$fy?WME)mW?%%lB7h-?fe9Qio*<(c7#I{lW@+zau)=9<Jt(|EAp$X1 zkAa&(pFy6%0A{W{G)jUQ6d6L`PWOPCFAp*w;&MB<6^@JyGqJncn1PSMgh7tM6lS^{ zLp{h?n6q7>#>#+<)!xbAN`#pf4BQNs4AKl%Ff*m$E@os1We9_Y2y(ngZ9v3JJvd@) zp?bm@6d5AmzC?+8IZzZp5)UNq9T`{|oEQ`tA{nBfagR{1jgr_P>RlOF8Qd5Y8KN0t vpz1+xvVkQQWh6&|-Q>x@%n%FC4si_eU^;;ziGhKEi-D1Wi6Ma@nSliW!grhR diff --git a/Controller$RebalanceMessages.class b/Controller$RebalanceMessages.class new file mode 100644 index 0000000000000000000000000000000000000000..dcaf9491a4cf67058368055f88138704d02f5634 GIT binary patch literal 513 zcmX^0Z`VEs1_mnzSxyEf24;2!79Ivx1~x_p8Rz`GlA`>aoYW$fpwy(qoW#83RNvI% z;>7gSVnznGl8nq^6$3^F9v_54Yc2*322OScE*=JM1|CKRfvm)`ME#t^ymWp4q^#8B z5=I6#o6Nk-5<5l)W)00Skd=Hq4EziNj11f<#U=SgscxA$AmjOcz*<X7GIR8O6AP>v z890M8)AJHbN{dn%89Y#BZ6I8*J)U_bsp+Xj)(|1EexJ<Z5@aR8B}JKe>DG4EcGipx z{2Iva*9>E1U~$e*No8c<_sPsl^()OyN-YXWOv*`RWZ(+UFD*(2yO5EAAK_~~kW(2M zIQ&wJOFZ(6OV}Bt7#X+_@{9~To_TqxMb0^i#l;}c31WmNgCYYH0|x^G0}}%yC^#4x z83e&RAprqUbTBY5FfuSQa5D%qFfxcRFfgbyFflMOFfj0IX>Vm<)Y{I#uEn^Ofp;TV sp(q0b0~-S)0|SFU12cmd*dTER2{0|mAkDzQz{SAGz{DWQAj7}{0D-@D%K!iX literal 0 HcmV?d00001 diff --git a/Controller$RebalanceThread.class b/Controller$RebalanceThread.class index baac4d023e6eb8665bfeee1db52922e76ee0bdf7..cd769f29c09ee36dad3ef7cc340f40e32a7bdaa4 100644 GIT binary patch delta 43 zcmeyx_KR)9G$zJflczH^OYUXhX4ucb$FP@ypJ5+^9K%5d6NW<!)(l4{8#B8D06roN A&;S4c delta 43 zcmeyx_KR)9G$zK4lczH^OKxG{X4uBS$FPNgpJ6M59K#L<6Na4()(m?l8#B8D064e| AhyVZp diff --git a/Controller$Reloader.class b/Controller$Reloader.class index 5f060a69a794d4dab23d304ce135ebe0440721fd..a9b24663eb7db7dccfd7a31569087679d73d4497 100644 GIT binary patch delta 18 ZcmdnOyoGr}E2G!OHfBb~pvhf~S^zt$1*HH0 delta 18 ZcmdnOyoGr}E2HPeHfBaf-^pE!S^ztS1)l%_ diff --git a/Controller.class b/Controller.class index a6268bbbbd9df3b25bba137bd95105e820efe4aa..471ff46290ce586309aad08742f08ea7d3223665 100644 GIT binary patch literal 15913 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 a?HD+iq8V5~4FaYZ1_q{Brg)}A21x))_|l;O literal 14191 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 diff --git a/Controller.java b/Controller.java index 611fb5d..ec5677c 100644 --- a/Controller.java +++ b/Controller.java @@ -17,7 +17,7 @@ public class Controller { protected int rebalancePeriod; //How long to wait to start the next rebalance operation, in milliseconds protected class IndexEntry { - protected int filesize; + protected long filesize; protected List<Integer> storedBy; protected int numberToStore; protected String status; @@ -29,11 +29,11 @@ public class Controller { status = "store in progress"; } - public synchronized void setFilesize(int filesize) { + public synchronized void setFilesize(long filesize) { this.filesize = filesize; } - public synchronized int getFilesize() { + public synchronized long getFilesize() { return filesize; } @@ -74,12 +74,17 @@ public class Controller { } } + protected class RebalanceMessages { + public Map<Integer,List<String>> dstoreFiles; + public RebalanceMessages() {dstoreFiles = null;} + } + protected class Reloader extends ArrayList<Integer> { - public int filesize; + public long filesize; } protected Map<Integer,DstoreConnection> dstores; - protected Map<Integer,List<String>> rebalanceMessages; + protected RebalanceMessages rebalanceMessages; protected Map<String,IndexEntry> index; protected Map<Socket,Reloader> loadRequests; @@ -89,6 +94,7 @@ public class Controller { this.timeout = timeout; this.rebalancePeriod = rebalancePeriod; dstores = Collections.synchronizedMap(new HashMap<Integer,DstoreConnection>()); + rebalanceMessages = new RebalanceMessages(); index = Collections.synchronizedMap(new HashMap<String,IndexEntry>()); loadRequests = Collections.synchronizedMap(new HashMap<Socket,Reloader>()); } @@ -147,9 +153,11 @@ public class Controller { e.printStackTrace(); } - while(!client.isClosed()) { + String clientMessage = ""; + do { try { - String clientMessage = in.readLine(); + clientMessage = in.readLine(); + System.out.println(clientMessage); if(clientMessage != null) { handleMessage(clientMessage.split(" "), client); } @@ -158,13 +166,14 @@ public class Controller { e.printStackTrace(); } } + while(clientMessage != null); System.out.println("Client closed"); }).start(); } } catch(Exception e) { //Log error - e.printStackTrace(); + System.out.println("Controller error while accepting connections!"); System.out.println("Continue..."); } } @@ -213,19 +222,22 @@ public class Controller { } else { //Log error + System.out.println("Malformed message received by Controller"); } } void store(Socket client, String filename, String filesizeString) throws Exception { - int filesize = -1; + long filesize = -1; try { - filesize = Integer.parseInt(filesizeString); + filesize = Long.parseLong(filesizeString); if(filesize < 1) { //Log error + System.out.println("A client is trying to store a file with size < 1"); } } catch(NumberFormatException e) { //Log error + System.out.println("Client has not provided an integer as a filesize"); } try { @@ -258,21 +270,24 @@ public class Controller { message = message + " " + thisStore.intValue(); new Thread(() -> { try { - String[] receivedMessage = dstores.get(thisStore).receive().split(" "); + String[] receivedMessage = dstores.get(thisStore).receive("STORE_ACK").split(" "); if(receivedMessage[0].equals("STORE_ACK")) { try { storeAck(thisStore, receivedMessage[1]); } catch(Exception e) { //Log error + System.out.println("Error processing store ack from dstore " + thisStore); } } else { //Log error + System.out.println("Dstore " + thisStore + " should have sent STORE_ACK but Controller received " + receivedMessage[0]); } } catch(NullPointerException e) { - removeDstore(thisStore); + e.printStackTrace(); + //removeDstore(thisStore); } }).start(); } @@ -291,6 +306,7 @@ public class Controller { if(entry.getStoredBy().size() < rFactor) { //Log error + System.out.println("Not all STORE_ACKs have been received"); } //Update index to "store complete" @@ -308,7 +324,7 @@ public class Controller { void storeAck(Integer port, String filename) throws Exception { if(!index.containsKey(filename)) { //Throw logging exception - return; + throw new Exception("Index does not contain " + filename); } IndexEntry thisEntry = index.get(filename); @@ -381,16 +397,18 @@ public class Controller { for(Integer dstore : entry.getStoredBy()) { new Thread(() -> { try { - String[] message = dstores.get(dstore).sendAndReceive("REMOVE " + filename).split(" "); + String[] message = dstores.get(dstore).sendAndReceive("REMOVE " + filename, "REMOVE_ACK").split(" "); if(message[0].equals("REMOVE_ACK") && message[1].equals(filename)) { entry.removeStoredBy(dstore.intValue()); } else { //Log error + System.out.println("Dstore " + dstore + " should have sent REMOVE_ACK but Controller received " + message[0]); } } catch(NullPointerException e) { - removeDstore(dstore); + e.printStackTrace(); + //removeDstore(dstore); } }).start(); } @@ -407,6 +425,7 @@ public class Controller { if(entry.getStoredBy().size() > 0) { //Log error + System.out.println("Not all REMOVE_ACKs have been received"); } //Update index to "remove complete" @@ -442,10 +461,12 @@ public class Controller { } void rebalance() throws Exception { - if(rebalanceMessages != null) return; + boolean success = true; Map<Integer,List<String>> dstoreFiles = new HashMap<Integer,List<String>>(); - synchronized(dstoreFiles) { - rebalanceMessages = dstoreFiles; + + synchronized(rebalanceMessages) { + if(rebalanceMessages.dstoreFiles != null) return; + rebalanceMessages.dstoreFiles = dstoreFiles; try { //Send LIST message to each Dstore and receive their file list for(Integer dstore : dstores.keySet()) { @@ -457,14 +478,16 @@ public class Controller { receiveDstoreList(dstore.intValue(), message); } catch(NullPointerException e) { - removeDstore(dstore); + e.printStackTrace(); + //removeDstore(dstore); } }).start(); } - dstoreFiles.wait(timeout); + rebalanceMessages.wait(timeout); if(dstoreFiles.size() < dstores.size()) { //Log error + System.out.println("Not all file lists have been received"); } //Create a new file allocation so that: @@ -560,9 +583,10 @@ public class Controller { String finalMessage = message; new Thread(() -> { try { - String returnMessage = dstores.get(thisStore).sendAndReceive(finalMessage); + String returnMessage = dstores.get(thisStore).sendAndReceive(finalMessage, "REBALANCE_COMPLETE"); if(!returnMessage.equals("REBALANCE_COMPLETE")) { //Log error + System.out.println("Dstore " + thisStore + " should have sent REBALANCE_COMPLETE but Controller received " + returnMessage); } synchronized(acksReceived) { acksReceived.incr(); @@ -572,7 +596,8 @@ public class Controller { } } catch(NullPointerException e) { - removeDstore(thisStore); + e.printStackTrace(); + //removeDstore(thisStore); } }).start(); } @@ -584,6 +609,8 @@ public class Controller { acksReceived.wait(timeout); if(acksReceived.getValue() < storeOrder.size()) { //Restart rebalance operation + System.out.println("Not all REBALANCE_COMPLETEs received. Restarting rebalance operation..."); + success = false; } } catch(InterruptedException e) { @@ -595,14 +622,19 @@ public class Controller { e.printStackTrace(); } finally { - rebalanceMessages = null; + rebalanceMessages.dstoreFiles = null; + System.out.println("There are " + dstores.size() + " dstores connected"); + for(String i : index.keySet()) { + System.out.print(i); + } + System.out.print("\n"); } } + + if(!success) rebalance(); } void receiveDstoreList(int port, String[] list) { - if(rebalanceMessages == null) return; - List<String> toList = new ArrayList<String>(); if(!list[0].equals("ERROR_EMPTY")) { for(String file : list) { @@ -617,8 +649,10 @@ public class Controller { } synchronized(rebalanceMessages) { - rebalanceMessages.put(port, toList); - if(rebalanceMessages.size() == dstores.size()) { + if(rebalanceMessages.dstoreFiles == null) return; + + rebalanceMessages.dstoreFiles.put(port, toList); + if(rebalanceMessages.dstoreFiles.size() == dstores.size()) { rebalanceMessages.notify(); } } diff --git a/Dstore.class b/Dstore.class index d50e2886a2e23df4396911799fb8df9675121560..5a496f658f3927ece60f8eebab9b968dd8e10c43 100644 GIT binary patch delta 6489 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 PF)%VdW_-%{oIw%*^S;6{ delta 6086 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 QgF%dp=NK<AUSg000DDwRi2wiq diff --git a/Dstore.java b/Dstore.java index 3fd7352..9332ba9 100644 --- a/Dstore.java +++ b/Dstore.java @@ -13,7 +13,7 @@ public class Dstore { protected int cport; //Controller's port to talk to protected int timeout; //in milliseconds protected File fileFolder; //Where to store the data locally - protected Map<String,Integer> fileSizes; + protected Map<String,Long> fileSizes; protected Socket controllerSocket; protected BufferedReader controllerIn; @@ -33,7 +33,10 @@ public class Dstore { if(!fileFolder.mkdir()) throw new Exception("Folder could not be created"); } - fileSizes = new HashMap<String,Integer>(); + fileSizes = new HashMap<String,Long>(); + for(File file : fileFolder.listFiles()) { + fileSizes.put(file.getName(), Long.valueOf(file.length())); + } } public static void main(String[] args) { @@ -108,7 +111,7 @@ public class Dstore { void handleMessage(String[] message, Socket client) throws Exception { if(message[0].equals("STORE")) { - store(client, message[1], Integer.parseInt(message[2])); + store(client, message[1], Long.parseLong(message[2])); } else if(message[0].equals("LOAD_DATA")) { load(client, message[1]); @@ -124,10 +127,11 @@ public class Dstore { } else { //Log error and continue (throw exception?) + System.out.println("Dstore " + port + " has received a malformed message"); } } - void store(Socket client, String filename, int filesize) throws Exception { + void store(Socket client, String filename, long filesize) throws Exception { new Thread(() -> { try { //Send ACK message to client @@ -151,7 +155,7 @@ public class Dstore { controllerOut.flush(); if(fileSizes.containsKey(filename)) fileSizes.remove(filename); - fileSizes.put(filename, filesize); + fileSizes.put(filename, Long.valueOf(filesize)); } catch(IOException e) { e.printStackTrace(); @@ -284,8 +288,10 @@ public class Dstore { out.flush(); BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); - if(!in.readLine().equals("ACK")) { + String receivedMessage = in.readLine(); + if(!receivedMessage.equals("ACK")) { //Log error + System.out.println("Dstore " + dstore + " should have sent ACK but " + port + " received " + receivedMessage); } byte[] content = new byte[8]; diff --git a/DstoreConnection.class b/DstoreConnection.class index 22b19b02f98e1f15e335aad8652e4c0bba7bcf2e..42fb9143a47eaea3233715ce29a55e93398a6448 100644 GIT binary patch delta 2213 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 bFfz;olM5IYF)%Q2F)%VLW?0IwoIw%*zJ|lE delta 1513 zcmca2d0m+6)W2Q(7#J9=80sf-1x~Dzb>m}X5X(v|OVrQI*LNySOG_<EO$ka(Oi3+b zXAodykc7#3<`tBd1eX-0Cgwt<xfp~PgxMKHco;+(#3tUg_vL4h;9+28kYr?#(D1>c z%~~^zi-DIx8l*^ukwF-t2x6eMW*8>}2ZJ0BgFJ)6<V;32My1IU7$rD_7*u!|R2kGJ zZ(!8tP-M^m>DQe6oKb;In}<P%L3c7Qld7aX4}$@NAtM84Vp(ElPGV9{DkB496gz|Q z<US?|StABh9tJZ8Hbw^if}+g4lHiiW<m`~5#N<?V28+punUuM$7_8YDY<L)K8SEy1 zWHMH9U}O+>DK5z`N>xb7EKbhP%S%lzNloEmaAI&~XK>+RaAk0t?7?hR@4?8x@19yx zl9`vTkdvRBt*58Q!QjQn!0VHroUM?UTv(b}l$yf9;KRtk>KYW}AH>C=$lwej{COAx zKu%&!%PB3+;9}rl2;yM~W(Z+q;K|8PPRt2PO-{`$OJ!sb(a?m1XHH^Xx_)p;QD$Dc zH5Y?912YGMU^pWK0~bRiLliqhG!H`zL+s>-EW(rju_(%e0z00EApv9}M^S2Gice-< zst^MMLlO@|GDFJbE6mQ5@3T6HFf#BJr{<+N=A}SwWM{~pti-0u!CnM$!DLr9YrY~b zhGK>ic7{@r=Ca9sY)2R?CTFp0vQ#rNs7~I+rpnCDP&;`)yKy}W0}BH;0}lfO0}Ci7 z!L$y8E|@l8Fa*<#46F>P42%qE3=9mX8Q2(@85kIXw6-%aYH4p}VAtBsz#F-nfj?4v z8-w6>2J!6-Qd=2hwRSTof<%<JGpKK6(9&Yr%AmKLLC#la8-s}!GngajyNRLRQpkQA zgCkgEBLfoyCxbDA8G{j+c4jbVU}8uIX8=A11_l8J76w5EP6lBHc?J;%JqA$*V+J_} zGX`-6a|Q_pYX(UM2L?F?X9j5o7X}#y9|l>5Kn8h+3<d@UaR%o93}y^W><k?23_=Wy z><mUe><s3-42<;*nG7imOkl5FWnf}pWnf?k-o#)j<PLIGr0*dR+Y`jz!k{;cfkVh! z=kNxtEeu-P+ZcR7^fm@Rt!)f}I)^v-ft12Mvzx&@ayvulek&H8!;&of8CV&37-SjD z7|a<Iz+N<G0OcH?dIkmt1qM?F9|i^nGll>#4e_%PI8u}tI2e=}Ksic;L5)FyL7hQ^ zL4!e`L6gCZL7TyxL5IPfL6^aWL65<Q!2s-60S4wj3<~TFOrh)y=ArBiSqwSQNHk|) zWXNR*f%>+Ifr){cp`L+32jp&ucYQFut9^I_$bZ_0H~4BF*4fX%40g9V*x70fAX=S4 z3rs_tEycjbz`$U_z`<b30LsN8U>{pBs54lCoyWt#1aY1l*l8gDvoJ6+m@}||aud{T z+ZmV`m>3usoQ1-Cw1vX9F+|K{;M3Z|AiIqr&S&}m_nR0jwRbTjGB9joaMa%5qrHv6 zL?~>756B}J5dbzwg+Z0Uh=GAYg+UjdsK5bS&tS*E%wW&J!{ERm&fvtL%;3zR%HYbN z#^A=F#o*4M%izhN$Kb_a#^B9h&ENy}f)oSG9|mT2hDhQ647{Mk!~r6V+}Rn-k;0mp qA&-H9fr%lXp@4ybfrEjOp^$-*p`4+T0aOGqGE_0tFw`+HN&)~zVI0>0 diff --git a/DstoreConnection.java b/DstoreConnection.java index 8515615..9e85c7d 100644 --- a/DstoreConnection.java +++ b/DstoreConnection.java @@ -8,10 +8,13 @@ import java.util.HashMap; import java.util.Collection; public class DstoreConnection { + protected final int MAX_QUEUE_SIZE = 50; + protected Socket socket; protected BufferedReader reader; protected PrintWriter writer; protected boolean available; + protected List<String> queue; public DstoreConnection(Socket socket) { this.socket = socket; @@ -19,6 +22,7 @@ public class DstoreConnection { reader = new BufferedReader(new InputStreamReader(socket.getInputStream())); writer = new PrintWriter(socket.getOutputStream()); available = true; + queue = new ArrayList<String>(); } catch(IOException e) { e.printStackTrace(); @@ -30,7 +34,7 @@ public class DstoreConnection { } } - public String sendAndReceive(String message) throws NullPointerException { + public String sendAndReceive(String message, String expectedMessage) throws NullPointerException { System.out.println("Getting lock..."); synchronized(this) { try { @@ -38,7 +42,8 @@ public class DstoreConnection { if(!available) return "ERROR"; writer.println(message); writer.flush(); - return localReceive(); + System.out.println("Controller sent " + message); + return localReceive(expectedMessage); } catch(NullPointerException e) { System.out.println("Dstore disconnected"); @@ -48,21 +53,50 @@ public class DstoreConnection { } } - public String receive() throws NullPointerException { + public String sendAndReceive(String message) throws NullPointerException { + return sendAndReceive(message, null); + } + + public String receive(String expectedMessage) throws NullPointerException { System.out.println("Getting lock..."); synchronized(this) { System.out.println("Lock acquired"); if(!available) return "ERROR"; - return localReceive(); + + //Check the queue for the message before trying to receive any new messages (if no expected message is specified, return the head of the queue) + for(int i=0; i<queue.size(); i++) { + String message = queue.get(i); + if(expectedMessage == null || message.equals(expectedMessage)) { + queue.remove(message); + return message; + } + } + + return localReceive(expectedMessage); } } - protected String localReceive() throws NullPointerException { + public String receive() throws NullPointerException { + return receive(null); + } + + protected String localReceive(String expectedMessage) throws NullPointerException { try { - String returnMessage = ""; - while(returnMessage.equals("")) { + String returnMessage = null; + do { returnMessage = reader.readLine(); + if(returnMessage == null) { + System.out.println("Dstore disconnected"); + available = false; + throw new NullPointerException(); + } + if(expectedMessage != null && !returnMessage.equals(expectedMessage)) { + queue.add(returnMessage); + if(queue.size() > MAX_QUEUE_SIZE) queue.remove(0); + returnMessage = null; + } } + while(returnMessage == null); System.out.println("Controller received " + returnMessage); return returnMessage; } @@ -70,10 +104,5 @@ public class DstoreConnection { e.printStackTrace(); return ""; } - catch(NullPointerException e) { - System.out.println("Dstore disconnected"); - available = false; - throw new NullPointerException(); - } } } diff --git a/client_1618914098636.log b/client_1618914098636.log deleted file mode 100644 index fa03ce2..0000000 --- a/client_1618914098636.log +++ /dev/null @@ -1 +0,0 @@ -Cannot connect to the Controller on port 8082 diff --git a/client_1618914115362.log b/client_1618914115362.log deleted file mode 100644 index 0249810..0000000 --- a/client_1618914115362.log +++ /dev/null @@ -1,19 +0,0 @@ -Connection established to port 8080 -Message sent to port 8080: LIST -List operation started -Message received from port 8080: ERROR -ERROR: Connection closed by the Controller -List operation failed -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.pdf) -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.pdf) -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.jpg) -Message sent to port 8080: LIST -List operation started -Message received from port 8080: null -ERROR: Connection closed by the Controller -List operation failed -Message sent to port 8080: LIST -List operation started -Message received from port 8080: null -ERROR: Connection closed by the Controller -List operation failed diff --git a/client_1618916214881.log b/client_1618916214881.log deleted file mode 100644 index aa74d26..0000000 --- a/client_1618916214881.log +++ /dev/null @@ -1,19 +0,0 @@ -Connection established to port 8080 -Message sent to port 8080: LIST -List operation started -Message received from port 8080: null -ERROR: Connection closed by the Controller -List operation failed -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.pdf) -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.pdf) -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.jpg) -Message sent to port 8080: LIST -List operation started -Message received from port 8080: null -ERROR: Connection closed by the Controller -List operation failed -Message sent to port 8080: LIST -List operation started -Message received from port 8080: null -ERROR: Connection closed by the Controller -List operation failed diff --git a/client_1618917382748.log b/client_1618917382748.log deleted file mode 100644 index aa74d26..0000000 --- a/client_1618917382748.log +++ /dev/null @@ -1,19 +0,0 @@ -Connection established to port 8080 -Message sent to port 8080: LIST -List operation started -Message received from port 8080: null -ERROR: Connection closed by the Controller -List operation failed -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.pdf) -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.pdf) -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.jpg) -Message sent to port 8080: LIST -List operation started -Message received from port 8080: null -ERROR: Connection closed by the Controller -List operation failed -Message sent to port 8080: LIST -List operation started -Message received from port 8080: null -ERROR: Connection closed by the Controller -List operation failed diff --git a/client_1618917653577.log b/client_1618917653577.log deleted file mode 100644 index a2b937e..0000000 --- a/client_1618917653577.log +++ /dev/null @@ -1,16 +0,0 @@ -Connection established to port 8080 -Message sent to port 8080: LIST -List operation started -Timeout expired while reading from port 8080 -List operation failed -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.pdf) -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.pdf) -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.jpg) -Message sent to port 8080: LIST -List operation started -Timeout expired while reading from port 8080 -List operation failed -Message sent to port 8080: LIST -List operation started -Timeout expired while reading from port 8080 -List operation failed diff --git a/client_1618917705050.log b/client_1618917705050.log deleted file mode 100644 index a2b937e..0000000 --- a/client_1618917705050.log +++ /dev/null @@ -1,16 +0,0 @@ -Connection established to port 8080 -Message sent to port 8080: LIST -List operation started -Timeout expired while reading from port 8080 -List operation failed -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.pdf) -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.pdf) -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.jpg) -Message sent to port 8080: LIST -List operation started -Timeout expired while reading from port 8080 -List operation failed -Message sent to port 8080: LIST -List operation started -Timeout expired while reading from port 8080 -List operation failed diff --git a/client_1618918167755.log b/client_1618918167755.log deleted file mode 100644 index a2b937e..0000000 --- a/client_1618918167755.log +++ /dev/null @@ -1,16 +0,0 @@ -Connection established to port 8080 -Message sent to port 8080: LIST -List operation started -Timeout expired while reading from port 8080 -List operation failed -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.pdf) -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.pdf) -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.jpg) -Message sent to port 8080: LIST -List operation started -Timeout expired while reading from port 8080 -List operation failed -Message sent to port 8080: LIST -List operation started -Timeout expired while reading from port 8080 -List operation failed diff --git a/client_1618918283040.log b/client_1618918283040.log deleted file mode 100644 index 79889b5..0000000 --- a/client_1618918283040.log +++ /dev/null @@ -1,10 +0,0 @@ -Connection established to port 8080 -Message sent to port 8080: LIST -List operation started -Timeout expired while reading from port 8080 -List operation failed -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.pdf) -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.pdf) -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.jpg) -Message sent to port 8080: LIST -List operation started diff --git a/client_1618918339157.log b/client_1618918339157.log deleted file mode 100644 index 79889b5..0000000 --- a/client_1618918339157.log +++ /dev/null @@ -1,10 +0,0 @@ -Connection established to port 8080 -Message sent to port 8080: LIST -List operation started -Timeout expired while reading from port 8080 -List operation failed -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.pdf) -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.pdf) -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.jpg) -Message sent to port 8080: LIST -List operation started diff --git a/client_1618918660778.log b/client_1618918660778.log deleted file mode 100644 index 7d494f0..0000000 --- a/client_1618918660778.log +++ /dev/null @@ -1,19 +0,0 @@ -Connection established to port 8080 -Message sent to port 8080: LIST -List operation started -Message received from port 8080: -ERROR: Connection closed by the Controller -List operation failed -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.pdf) -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.pdf) -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.jpg) -Message sent to port 8080: LIST -List operation started -Message received from port 8080: -ERROR: Connection closed by the Controller -List operation failed -Message sent to port 8080: LIST -List operation started -Message received from port 8080: -ERROR: Connection closed by the Controller -List operation failed diff --git a/client_1618919054780.log b/client_1618919054780.log deleted file mode 100644 index 7d494f0..0000000 --- a/client_1618919054780.log +++ /dev/null @@ -1,19 +0,0 @@ -Connection established to port 8080 -Message sent to port 8080: LIST -List operation started -Message received from port 8080: -ERROR: Connection closed by the Controller -List operation failed -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.pdf) -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.pdf) -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.jpg) -Message sent to port 8080: LIST -List operation started -Message received from port 8080: -ERROR: Connection closed by the Controller -List operation failed -Message sent to port 8080: LIST -List operation started -Message received from port 8080: -ERROR: Connection closed by the Controller -List operation failed diff --git a/client_1618919710976.log b/client_1618919710976.log deleted file mode 100644 index 7d494f0..0000000 --- a/client_1618919710976.log +++ /dev/null @@ -1,19 +0,0 @@ -Connection established to port 8080 -Message sent to port 8080: LIST -List operation started -Message received from port 8080: -ERROR: Connection closed by the Controller -List operation failed -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.pdf) -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.pdf) -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.jpg) -Message sent to port 8080: LIST -List operation started -Message received from port 8080: -ERROR: Connection closed by the Controller -List operation failed -Message sent to port 8080: LIST -List operation started -Message received from port 8080: -ERROR: Connection closed by the Controller -List operation failed diff --git a/client_1618922219091.log b/client_1618922219091.log deleted file mode 100644 index f1079e8..0000000 --- a/client_1618922219091.log +++ /dev/null @@ -1,16 +0,0 @@ -Connection established to port 8080 -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST -List operation successfully completed -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.pdf) -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.pdf) -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.jpg) -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST -List operation successfully completed -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST -List operation successfully completed diff --git a/client_1619002254815.log b/client_1619002254815.log deleted file mode 100644 index f1079e8..0000000 --- a/client_1619002254815.log +++ /dev/null @@ -1,16 +0,0 @@ -Connection established to port 8080 -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST -List operation successfully completed -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.pdf) -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.pdf) -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/Clipboard01.jpg) -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST -List operation successfully completed -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST -List operation successfully completed diff --git a/client_1619002688932.log b/client_1619002688932.log deleted file mode 100644 index c1fe03f..0000000 --- a/client_1619002688932.log +++ /dev/null @@ -1,18 +0,0 @@ -Connection established to port 8080 -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST -List operation successfully completed -ERROR: Filename includes spaces (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/All Star.txt) -ERROR: Filename includes spaces (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/All Star.txt) -Message sent to port 8080: STORE Unknown.txt 2594 -Store operation started for file Unknown.txt -Message received from port 8080: STORE_TO -Controller replied to store Unknown.txt in these Dstores: -Timeout expired while reading from port 8080 -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST Unknown.txt -List operation successfully completed -Message sent to port 8080: LOAD Unknown.txt -Load operation for file Unknown.txt started diff --git a/client_1619002774548.log b/client_1619002774548.log deleted file mode 100644 index 700813d..0000000 --- a/client_1619002774548.log +++ /dev/null @@ -1,17 +0,0 @@ -Connection established to port 8080 -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST Unknown.txt -List operation successfully completed -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/All Star.txt) -ERROR: File to store does not exist (absolute path: /home/danimal/Documents/comp2207-distributed-filesystem/All Star.txt) -Message sent to port 8080: STORE Unknown.txt 2594 -Store operation started for file Unknown.txt -Message received from port 8080: ERROR ALREADY_EXISTS Unknown.txt -ERROR: Unexpected message received: ERROR ALREADY_EXISTS Unknown.txt -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST Unknown.txt -List operation successfully completed -Message sent to port 8080: LOAD Unknown.txt -Load operation for file Unknown.txt started diff --git a/client_1619002831484.log b/client_1619002831484.log deleted file mode 100644 index b5328a0..0000000 --- a/client_1619002831484.log +++ /dev/null @@ -1,27 +0,0 @@ -Connection established to port 8080 -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST Unknown.txt -List operation successfully completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: STORE_TO -Controller replied to store AllStar.txt in these Dstores: -Timeout expired while reading from port 8080 -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: ERROR ALREADY_EXISTS AllStar.txt -ERROR: Unexpected message received: ERROR ALREADY_EXISTS AllStar.txt -Message sent to port 8080: STORE Unknown.txt 2594 -Store operation started for file Unknown.txt -Message received from port 8080: ERROR ALREADY_EXISTS Unknown.txt -ERROR: Unexpected message received: ERROR ALREADY_EXISTS Unknown.txt -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST AllStar.txt Unknown.txt -List operation successfully completed -Message sent to port 8080: LOAD AllStar.txt -Load operation for file AllStar.txt started -Timeout expired while reading from port 8080 -Message sent to port 8080: LOAD Unknown.txt -Load operation for file Unknown.txt started diff --git a/client_1619015946719.log b/client_1619015946719.log deleted file mode 100644 index b1a12e7..0000000 --- a/client_1619015946719.log +++ /dev/null @@ -1,57 +0,0 @@ -Connection established to port 8080 -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST -List operation successfully completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: STORE_TO 8081 -Controller replied to store AllStar.txt in these Dstores: 8081 -Connection established to port 8081 -Message sent to port 8081: STORE AllStar.txt 2227 -Storing file AllStar.txt to Dstore 8081 -Message received from port 8081: null -ERROR: Connection closed by Dstore 8081 -Store of file AllStar.txt to Dstore 8081 failed -Message received from port 8080: STORE_COMPLETE -Store operation for file AllStar.txt completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: ERROR ALREADY_EXISTS AllStar.txt -ERROR: Unexpected message received: ERROR ALREADY_EXISTS AllStar.txt -Message sent to port 8080: STORE Unknown.txt 2594 -Store operation started for file Unknown.txt -Message received from port 8080: STORE_TO 8081 -Controller replied to store Unknown.txt in these Dstores: 8081 -Connection established to port 8081 -Message sent to port 8081: STORE Unknown.txt 2594 -Storing file Unknown.txt to Dstore 8081 -Message received from port 8081: null -ERROR: Connection closed by Dstore 8081 -Store of file Unknown.txt to Dstore 8081 failed -Message received from port 8080: STORE_COMPLETE -Store operation for file Unknown.txt completed -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST AllStar.txt Unknown.txt -List operation successfully completed -Message sent to port 8080: LOAD AllStar.txt -Load operation for file AllStar.txt started -Message received from port 8080: ERROR_LOAD -Load operation for file AllStar.txt failed after having contacted 0 different Dstores -Message sent to port 8080: LOAD Unknown.txt -Load operation for file Unknown.txt started -Message received from port 8080: ERROR_LOAD -Load operation for file Unknown.txt failed after having contacted 0 different Dstores -Message sent to port 8080: REMOVE AllStar.txt -Remove operation for file AllStar.txt started -Message received from port 8080: REMOVE_COMPLETE -Remove operation for file AllStar.txt successfully completed -Message sent to port 8080: REMOVE Unknown.txt -Remove operation for file Unknown.txt started -Message received from port 8080: REMOVE_COMPLETE -Remove operation for file Unknown.txt successfully completed -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST AllStar.txt Unknown.txt -List operation successfully completed diff --git a/client_1619016557204.log b/client_1619016557204.log deleted file mode 100644 index 91aeef4..0000000 --- a/client_1619016557204.log +++ /dev/null @@ -1,48 +0,0 @@ -Connection established to port 8080 -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST -List operation successfully completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: STORE_TO 8081 -Controller replied to store AllStar.txt in these Dstores: 8081 -Connection established to port 8081 -Message sent to port 8081: STORE AllStar.txt 2227 -Storing file AllStar.txt to Dstore 8081 -Message received from port 8081: ACK -ACK received from Dstore 8081 to store file AllStar.txt -Store of file AllStar.txt to Dstore 8081 successfully completed -Message received from port 8080: STORE_COMPLETE -Store operation for file AllStar.txt completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: ERROR ALREADY_EXISTS AllStar.txt -ERROR: Unexpected message received: ERROR ALREADY_EXISTS AllStar.txt -Message sent to port 8080: STORE Unknown.txt 2594 -Store operation started for file Unknown.txt -Message received from port 8080: STORE_TO 8081 -Controller replied to store Unknown.txt in these Dstores: 8081 -Connection established to port 8081 -Message sent to port 8081: STORE Unknown.txt 2594 -Storing file Unknown.txt to Dstore 8081 -Message received from port 8081: ACK -ACK received from Dstore 8081 to store file Unknown.txt -Store of file Unknown.txt to Dstore 8081 successfully completed -Message received from port 8080: STORE_COMPLETE -Store operation for file Unknown.txt completed -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST AllStar.txt Unknown.txt -List operation successfully completed -Message sent to port 8080: LOAD AllStar.txt -Load operation for file AllStar.txt started -Message received from port 8080: ERROR_LOAD -Load operation for file AllStar.txt failed after having contacted 0 different Dstores -Message sent to port 8080: LOAD Unknown.txt -Load operation for file Unknown.txt started -Message received from port 8080: LOAD_FROM 8081 -1 -Controller replied to load file Unknown.txt (size: -1 bytes) from Dstore 8081 -Connection established to port 8081 -Message sent to port 8081: LOAD_DATA Unknown.txt -Loading file Unknown.txt from Dstore 8081 diff --git a/client_1619016975115.log b/client_1619016975115.log deleted file mode 100644 index 5c0107f..0000000 --- a/client_1619016975115.log +++ /dev/null @@ -1,32 +0,0 @@ -Connection established to port 8080 -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST AllStar.txt Unknown.txt -List operation successfully completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: ERROR ALREADY_EXISTS AllStar.txt -ERROR: Unexpected message received: ERROR ALREADY_EXISTS AllStar.txt -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: ERROR ALREADY_EXISTS AllStar.txt -ERROR: Unexpected message received: ERROR ALREADY_EXISTS AllStar.txt -Message sent to port 8080: STORE Unknown.txt 2594 -Store operation started for file Unknown.txt -Message received from port 8080: ERROR ALREADY_EXISTS Unknown.txt -ERROR: Unexpected message received: ERROR ALREADY_EXISTS Unknown.txt -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST AllStar.txt Unknown.txt -List operation successfully completed -Message sent to port 8080: LOAD AllStar.txt -Load operation for file AllStar.txt started -Message received from port 8080: ERROR_LOAD -Load operation for file AllStar.txt failed after having contacted 0 different Dstores -Message sent to port 8080: LOAD Unknown.txt -Load operation for file Unknown.txt started -Message received from port 8080: LOAD_FROM 8081 -1 -Controller replied to load file Unknown.txt (size: -1 bytes) from Dstore 8081 -Connection established to port 8081 -Message sent to port 8081: LOAD_DATA Unknown.txt -Loading file Unknown.txt from Dstore 8081 diff --git a/client_1619017037535.log b/client_1619017037535.log deleted file mode 100644 index 8fa327e..0000000 --- a/client_1619017037535.log +++ /dev/null @@ -1,48 +0,0 @@ -Connection established to port 8080 -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST -List operation successfully completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: STORE_TO 8081 -Controller replied to store AllStar.txt in these Dstores: 8081 -Connection established to port 8081 -Message sent to port 8081: STORE AllStar.txt 2227 -Storing file AllStar.txt to Dstore 8081 -Message received from port 8081: ACK -ACK received from Dstore 8081 to store file AllStar.txt -Store of file AllStar.txt to Dstore 8081 successfully completed -Message received from port 8080: STORE_COMPLETE -Store operation for file AllStar.txt completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: ERROR FILE_ALREADY_EXISTS AllStar.txt -ERROR: Unexpected message received: ERROR FILE_ALREADY_EXISTS AllStar.txt -Message sent to port 8080: STORE Unknown.txt 2594 -Store operation started for file Unknown.txt -Message received from port 8080: STORE_TO 8081 -Controller replied to store Unknown.txt in these Dstores: 8081 -Connection established to port 8081 -Message sent to port 8081: STORE Unknown.txt 2594 -Storing file Unknown.txt to Dstore 8081 -Message received from port 8081: ACK -ACK received from Dstore 8081 to store file Unknown.txt -Store of file Unknown.txt to Dstore 8081 successfully completed -Message received from port 8080: STORE_COMPLETE -Store operation for file Unknown.txt completed -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST AllStar.txt Unknown.txt -List operation successfully completed -Message sent to port 8080: LOAD AllStar.txt -Load operation for file AllStar.txt started -Message received from port 8080: ERROR_LOAD -Load operation for file AllStar.txt failed after having contacted 0 different Dstores -Message sent to port 8080: LOAD Unknown.txt -Load operation for file Unknown.txt started -Message received from port 8080: LOAD_FROM 8081 -1 -Controller replied to load file Unknown.txt (size: -1 bytes) from Dstore 8081 -Connection established to port 8081 -Message sent to port 8081: LOAD_DATA Unknown.txt -Loading file Unknown.txt from Dstore 8081 diff --git a/client_1619017290151.log b/client_1619017290151.log deleted file mode 100644 index 9d7f7af..0000000 --- a/client_1619017290151.log +++ /dev/null @@ -1,57 +0,0 @@ -Connection established to port 8080 -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST -List operation successfully completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: STORE_TO 8081 -Controller replied to store AllStar.txt in these Dstores: 8081 -Connection established to port 8081 -Message sent to port 8081: STORE AllStar.txt 2227 -Storing file AllStar.txt to Dstore 8081 -Message received from port 8081: ACK -ACK received from Dstore 8081 to store file AllStar.txt -Store of file AllStar.txt to Dstore 8081 successfully completed -Message received from port 8080: STORE_COMPLETE -Store operation for file AllStar.txt completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: ERROR_FILE_ALREADY_EXISTS AllStar.txt -File to store AllStar.txt already exists in the data store -Message sent to port 8080: STORE Unknown.txt 2594 -Store operation started for file Unknown.txt -Message received from port 8080: STORE_TO 8081 -Controller replied to store Unknown.txt in these Dstores: 8081 -Connection established to port 8081 -Message sent to port 8081: STORE Unknown.txt 2594 -Storing file Unknown.txt to Dstore 8081 -Message received from port 8081: ACK -ACK received from Dstore 8081 to store file Unknown.txt -Store of file Unknown.txt to Dstore 8081 successfully completed -Message received from port 8080: STORE_COMPLETE -Store operation for file Unknown.txt completed -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST AllStar.txt Unknown.txt -List operation successfully completed -Message sent to port 8080: LOAD AllStar.txt -Load operation for file AllStar.txt started -Message received from port 8080: ERROR_LOAD -Load operation for file AllStar.txt failed after having contacted 0 different Dstores -Message sent to port 8080: LOAD Unknown.txt -Load operation for file Unknown.txt started -Message received from port 8080: ERROR_LOAD -Load operation for file Unknown.txt failed after having contacted 0 different Dstores -Message sent to port 8080: REMOVE AllStar.txt -Remove operation for file AllStar.txt started -Message received from port 8080: REMOVE_COMPLETE -Remove operation for file AllStar.txt successfully completed -Message sent to port 8080: REMOVE Unknown.txt -Remove operation for file Unknown.txt started -Message received from port 8080: REMOVE_COMPLETE -Remove operation for file Unknown.txt successfully completed -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST AllStar.txt Unknown.txt -List operation successfully completed diff --git a/client_1619017624104.log b/client_1619017624104.log deleted file mode 100644 index 6e52af7..0000000 --- a/client_1619017624104.log +++ /dev/null @@ -1,48 +0,0 @@ -Connection established to port 8080 -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST -List operation successfully completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: STORE_TO 8081 -Controller replied to store AllStar.txt in these Dstores: 8081 -Connection established to port 8081 -Message sent to port 8081: STORE AllStar.txt 2227 -Storing file AllStar.txt to Dstore 8081 -Message received from port 8081: ACK -ACK received from Dstore 8081 to store file AllStar.txt -Store of file AllStar.txt to Dstore 8081 successfully completed -Message received from port 8080: STORE_COMPLETE -Store operation for file AllStar.txt completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: ERROR_FILE_ALREADY_EXISTS AllStar.txt -File to store AllStar.txt already exists in the data store -Message sent to port 8080: STORE Unknown.txt 2594 -Store operation started for file Unknown.txt -Message received from port 8080: STORE_TO 8081 -Controller replied to store Unknown.txt in these Dstores: 8081 -Connection established to port 8081 -Message sent to port 8081: STORE Unknown.txt 2594 -Storing file Unknown.txt to Dstore 8081 -Message received from port 8081: ACK -ACK received from Dstore 8081 to store file Unknown.txt -Store of file Unknown.txt to Dstore 8081 successfully completed -Message received from port 8080: STORE_COMPLETE -Store operation for file Unknown.txt completed -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST AllStar.txt Unknown.txt -List operation successfully completed -Message sent to port 8080: LOAD AllStar.txt -Load operation for file AllStar.txt started -Message received from port 8080: ERROR_LOAD -Load operation for file AllStar.txt failed after having contacted 0 different Dstores -Message sent to port 8080: LOAD Unknown.txt -Load operation for file Unknown.txt started -Message received from port 8080: LOAD_FROM 8081 -1 -Controller replied to load file Unknown.txt (size: -1 bytes) from Dstore 8081 -Connection established to port 8081 -Message sent to port 8081: LOAD_DATA Unknown.txt -Loading file Unknown.txt from Dstore 8081 diff --git a/client_1619018158905.log b/client_1619018158905.log deleted file mode 100644 index 5d9f5ed..0000000 --- a/client_1619018158905.log +++ /dev/null @@ -1,61 +0,0 @@ -Connection established to port 8080 -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST -List operation successfully completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: STORE_TO 8081 -Controller replied to store AllStar.txt in these Dstores: 8081 -Connection established to port 8081 -Message sent to port 8081: STORE AllStar.txt 2227 -Storing file AllStar.txt to Dstore 8081 -Message received from port 8081: ACK -ACK received from Dstore 8081 to store file AllStar.txt -Store of file AllStar.txt to Dstore 8081 successfully completed -Message received from port 8080: STORE_COMPLETE -Store operation for file AllStar.txt completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: ERROR_FILE_ALREADY_EXISTS AllStar.txt -File to store AllStar.txt already exists in the data store -Message sent to port 8080: STORE Unknown.txt 2594 -Store operation started for file Unknown.txt -Message received from port 8080: STORE_TO 8081 -Controller replied to store Unknown.txt in these Dstores: 8081 -Connection established to port 8081 -Message sent to port 8081: STORE Unknown.txt 2594 -Storing file Unknown.txt to Dstore 8081 -Message received from port 8081: ACK -ACK received from Dstore 8081 to store file Unknown.txt -Store of file Unknown.txt to Dstore 8081 successfully completed -Message received from port 8080: STORE_COMPLETE -Store operation for file Unknown.txt completed -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST AllStar.txt Unknown.txt -List operation successfully completed -Message sent to port 8080: LOAD AllStar.txt -Load operation for file AllStar.txt started -Message received from port 8080: ERROR_LOAD -Load operation for file AllStar.txt failed after having contacted 0 different Dstores -Message sent to port 8080: LOAD Unknown.txt -Load operation for file Unknown.txt started -Message received from port 8080: LOAD_FROM 8081 2594 -Controller replied to load file Unknown.txt (size: 2594 bytes) from Dstore 8081 -Connection established to port 8081 -Message sent to port 8081: LOAD_DATA Unknown.txt -Loading file Unknown.txt from Dstore 8081 -Load operation of file Unknown.txt from Dstore 8081 successfully completed -Message sent to port 8080: REMOVE AllStar.txt -Remove operation for file AllStar.txt started -Message received from port 8080: REMOVE_COMPLETE -Remove operation for file AllStar.txt successfully completed -Message sent to port 8080: REMOVE Unknown.txt -Remove operation for file Unknown.txt started -Message received from port 8080: REMOVE_COMPLETE -Remove operation for file Unknown.txt successfully completed -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST AllStar.txt Unknown.txt -List operation successfully completed diff --git a/client_1619018768533.log b/client_1619018768533.log deleted file mode 100644 index 772c595..0000000 --- a/client_1619018768533.log +++ /dev/null @@ -1,62 +0,0 @@ -Connection established to port 8080 -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST -List operation successfully completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: STORE_TO 8081 -Controller replied to store AllStar.txt in these Dstores: 8081 -Connection established to port 8081 -Message sent to port 8081: STORE AllStar.txt 2227 -Storing file AllStar.txt to Dstore 8081 -Message received from port 8081: ACK -ACK received from Dstore 8081 to store file AllStar.txt -Store of file AllStar.txt to Dstore 8081 successfully completed -Message received from port 8080: STORE_COMPLETE -Store operation for file AllStar.txt completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: ERROR_FILE_ALREADY_EXISTS AllStar.txt -File to store AllStar.txt already exists in the data store -Message sent to port 8080: STORE Unknown.txt 2594 -Store operation started for file Unknown.txt -Message received from port 8080: STORE_TO 8081 -Controller replied to store Unknown.txt in these Dstores: 8081 -Connection established to port 8081 -Message sent to port 8081: STORE Unknown.txt 2594 -Storing file Unknown.txt to Dstore 8081 -Message received from port 8081: ACK -ACK received from Dstore 8081 to store file Unknown.txt -Store of file Unknown.txt to Dstore 8081 successfully completed -Message received from port 8080: STORE_COMPLETE -Store operation for file Unknown.txt completed -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST AllStar.txt Unknown.txt -List operation successfully completed -Message sent to port 8080: LOAD AllStar.txt -Load operation for file AllStar.txt started -Message received from port 8080: ERROR_LOAD -Load operation for file AllStar.txt failed after having contacted 0 different Dstores -Message sent to port 8080: LOAD Unknown.txt -Load operation for file Unknown.txt started -Message received from port 8080: LOAD_FROM 8081 2594 -Controller replied to load file Unknown.txt (size: 2594 bytes) from Dstore 8081 -Connection established to port 8081 -Message sent to port 8081: LOAD_DATA Unknown.txt -Loading file Unknown.txt from Dstore 8081 -Load operation of file Unknown.txt from Dstore 8081 successfully completed -Message sent to port 8080: REMOVE AllStar.txt -Remove operation for file AllStar.txt started -Message received from port 8080: REMOVE_COMPLETE -Remove operation for file AllStar.txt successfully completed -Message sent to port 8080: REMOVE Unknown.txt -Remove operation for file Unknown.txt started -Timeout expired while reading from port 8080 -Remove operation for file Unknown.txt not completed successfully -Message sent to port 8080: LIST -List operation started -Message received from port 8080: REMOVE_COMPLETE -ERROR: Connection closed by the Controller -List operation failed diff --git a/client_1619019036315.log b/client_1619019036315.log deleted file mode 100644 index 32523cd..0000000 --- a/client_1619019036315.log +++ /dev/null @@ -1,65 +0,0 @@ -Connection established to port 8080 -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST -List operation successfully completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: STORE_TO 8081 -Controller replied to store AllStar.txt in these Dstores: 8081 -Connection established to port 8081 -Message sent to port 8081: STORE AllStar.txt 2227 -Storing file AllStar.txt to Dstore 8081 -Message received from port 8081: ACK -ACK received from Dstore 8081 to store file AllStar.txt -Store of file AllStar.txt to Dstore 8081 successfully completed -Message received from port 8080: STORE_COMPLETE -Store operation for file AllStar.txt completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: ERROR_FILE_ALREADY_EXISTS AllStar.txt -File to store AllStar.txt already exists in the data store -Message sent to port 8080: STORE Unknown.txt 2594 -Store operation started for file Unknown.txt -Message received from port 8080: STORE_TO 8081 -Controller replied to store Unknown.txt in these Dstores: 8081 -Connection established to port 8081 -Message sent to port 8081: STORE Unknown.txt 2594 -Storing file Unknown.txt to Dstore 8081 -Message received from port 8081: ACK -ACK received from Dstore 8081 to store file Unknown.txt -Store of file Unknown.txt to Dstore 8081 successfully completed -Message received from port 8080: STORE_COMPLETE -Store operation for file Unknown.txt completed -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST AllStar.txt Unknown.txt -List operation successfully completed -Message sent to port 8080: LOAD AllStar.txt -Load operation for file AllStar.txt started -Message received from port 8080: LOAD_FROM 8081 2227 -Controller replied to load file AllStar.txt (size: 2227 bytes) from Dstore 8081 -Connection established to port 8081 -Message sent to port 8081: LOAD_DATA AllStar.txt -Loading file AllStar.txt from Dstore 8081 -Load operation of file AllStar.txt from Dstore 8081 successfully completed -Message sent to port 8080: LOAD Unknown.txt -Load operation for file Unknown.txt started -Message received from port 8080: LOAD_FROM 8081 2594 -Controller replied to load file Unknown.txt (size: 2594 bytes) from Dstore 8081 -Connection established to port 8081 -Message sent to port 8081: LOAD_DATA Unknown.txt -Loading file Unknown.txt from Dstore 8081 -Load operation of file Unknown.txt from Dstore 8081 successfully completed -Message sent to port 8080: REMOVE AllStar.txt -Remove operation for file AllStar.txt started -Message received from port 8080: REMOVE_COMPLETE -Remove operation for file AllStar.txt successfully completed -Message sent to port 8080: REMOVE Unknown.txt -Remove operation for file Unknown.txt started -Message received from port 8080: REMOVE_COMPLETE -Remove operation for file Unknown.txt successfully completed -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST -List operation successfully completed diff --git a/client_1619019325145.log b/client_1619019325145.log deleted file mode 100644 index 32523cd..0000000 --- a/client_1619019325145.log +++ /dev/null @@ -1,65 +0,0 @@ -Connection established to port 8080 -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST -List operation successfully completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: STORE_TO 8081 -Controller replied to store AllStar.txt in these Dstores: 8081 -Connection established to port 8081 -Message sent to port 8081: STORE AllStar.txt 2227 -Storing file AllStar.txt to Dstore 8081 -Message received from port 8081: ACK -ACK received from Dstore 8081 to store file AllStar.txt -Store of file AllStar.txt to Dstore 8081 successfully completed -Message received from port 8080: STORE_COMPLETE -Store operation for file AllStar.txt completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: ERROR_FILE_ALREADY_EXISTS AllStar.txt -File to store AllStar.txt already exists in the data store -Message sent to port 8080: STORE Unknown.txt 2594 -Store operation started for file Unknown.txt -Message received from port 8080: STORE_TO 8081 -Controller replied to store Unknown.txt in these Dstores: 8081 -Connection established to port 8081 -Message sent to port 8081: STORE Unknown.txt 2594 -Storing file Unknown.txt to Dstore 8081 -Message received from port 8081: ACK -ACK received from Dstore 8081 to store file Unknown.txt -Store of file Unknown.txt to Dstore 8081 successfully completed -Message received from port 8080: STORE_COMPLETE -Store operation for file Unknown.txt completed -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST AllStar.txt Unknown.txt -List operation successfully completed -Message sent to port 8080: LOAD AllStar.txt -Load operation for file AllStar.txt started -Message received from port 8080: LOAD_FROM 8081 2227 -Controller replied to load file AllStar.txt (size: 2227 bytes) from Dstore 8081 -Connection established to port 8081 -Message sent to port 8081: LOAD_DATA AllStar.txt -Loading file AllStar.txt from Dstore 8081 -Load operation of file AllStar.txt from Dstore 8081 successfully completed -Message sent to port 8080: LOAD Unknown.txt -Load operation for file Unknown.txt started -Message received from port 8080: LOAD_FROM 8081 2594 -Controller replied to load file Unknown.txt (size: 2594 bytes) from Dstore 8081 -Connection established to port 8081 -Message sent to port 8081: LOAD_DATA Unknown.txt -Loading file Unknown.txt from Dstore 8081 -Load operation of file Unknown.txt from Dstore 8081 successfully completed -Message sent to port 8080: REMOVE AllStar.txt -Remove operation for file AllStar.txt started -Message received from port 8080: REMOVE_COMPLETE -Remove operation for file AllStar.txt successfully completed -Message sent to port 8080: REMOVE Unknown.txt -Remove operation for file Unknown.txt started -Message received from port 8080: REMOVE_COMPLETE -Remove operation for file Unknown.txt successfully completed -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST -List operation successfully completed diff --git a/client_1619019601175.log b/client_1619019601175.log deleted file mode 100644 index 0938640..0000000 --- a/client_1619019601175.log +++ /dev/null @@ -1,61 +0,0 @@ -Connection established to port 8080 -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST -List operation successfully completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: STORE_TO 8081 -Controller replied to store AllStar.txt in these Dstores: 8081 -Connection established to port 8081 -Message sent to port 8081: STORE AllStar.txt 2227 -Storing file AllStar.txt to Dstore 8081 -Message received from port 8081: ACK -ACK received from Dstore 8081 to store file AllStar.txt -Store of file AllStar.txt to Dstore 8081 successfully completed -Message received from port 8080: STORE_COMPLETE -Store operation for file AllStar.txt completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: ERROR_FILE_ALREADY_EXISTS AllStar.txt -File to store AllStar.txt already exists in the data store -Message sent to port 8080: STORE Unknown.txt 2594 -Store operation started for file Unknown.txt -Message received from port 8080: STORE_TO 8081 -Controller replied to store Unknown.txt in these Dstores: 8081 -Connection established to port 8081 -Message sent to port 8081: STORE Unknown.txt 2594 -Storing file Unknown.txt to Dstore 8081 -Message received from port 8081: ACK -ACK received from Dstore 8081 to store file Unknown.txt -Store of file Unknown.txt to Dstore 8081 successfully completed -Message received from port 8080: STORE_COMPLETE -Store operation for file Unknown.txt completed -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST AllStar.txt Unknown.txt -List operation successfully completed -Message sent to port 8080: LOAD AllStar.txt -Load operation for file AllStar.txt started -Message received from port 8080: ERROR_LOAD -Load operation for file AllStar.txt failed after having contacted 0 different Dstores -Message sent to port 8080: LOAD Unknown.txt -Load operation for file Unknown.txt started -Message received from port 8080: LOAD_FROM 8081 2594 -Controller replied to load file Unknown.txt (size: 2594 bytes) from Dstore 8081 -Connection established to port 8081 -Message sent to port 8081: LOAD_DATA Unknown.txt -Loading file Unknown.txt from Dstore 8081 -Load operation of file Unknown.txt from Dstore 8081 successfully completed -Message sent to port 8080: REMOVE AllStar.txt -Remove operation for file AllStar.txt started -Message received from port 8080: REMOVE_COMPLETE -Remove operation for file AllStar.txt successfully completed -Message sent to port 8080: REMOVE Unknown.txt -Remove operation for file Unknown.txt started -Message received from port 8080: REMOVE_COMPLETE -Remove operation for file Unknown.txt successfully completed -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST -List operation successfully completed diff --git a/client_1619019802665.log b/client_1619019802665.log deleted file mode 100644 index 32523cd..0000000 --- a/client_1619019802665.log +++ /dev/null @@ -1,65 +0,0 @@ -Connection established to port 8080 -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST -List operation successfully completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: STORE_TO 8081 -Controller replied to store AllStar.txt in these Dstores: 8081 -Connection established to port 8081 -Message sent to port 8081: STORE AllStar.txt 2227 -Storing file AllStar.txt to Dstore 8081 -Message received from port 8081: ACK -ACK received from Dstore 8081 to store file AllStar.txt -Store of file AllStar.txt to Dstore 8081 successfully completed -Message received from port 8080: STORE_COMPLETE -Store operation for file AllStar.txt completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: ERROR_FILE_ALREADY_EXISTS AllStar.txt -File to store AllStar.txt already exists in the data store -Message sent to port 8080: STORE Unknown.txt 2594 -Store operation started for file Unknown.txt -Message received from port 8080: STORE_TO 8081 -Controller replied to store Unknown.txt in these Dstores: 8081 -Connection established to port 8081 -Message sent to port 8081: STORE Unknown.txt 2594 -Storing file Unknown.txt to Dstore 8081 -Message received from port 8081: ACK -ACK received from Dstore 8081 to store file Unknown.txt -Store of file Unknown.txt to Dstore 8081 successfully completed -Message received from port 8080: STORE_COMPLETE -Store operation for file Unknown.txt completed -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST AllStar.txt Unknown.txt -List operation successfully completed -Message sent to port 8080: LOAD AllStar.txt -Load operation for file AllStar.txt started -Message received from port 8080: LOAD_FROM 8081 2227 -Controller replied to load file AllStar.txt (size: 2227 bytes) from Dstore 8081 -Connection established to port 8081 -Message sent to port 8081: LOAD_DATA AllStar.txt -Loading file AllStar.txt from Dstore 8081 -Load operation of file AllStar.txt from Dstore 8081 successfully completed -Message sent to port 8080: LOAD Unknown.txt -Load operation for file Unknown.txt started -Message received from port 8080: LOAD_FROM 8081 2594 -Controller replied to load file Unknown.txt (size: 2594 bytes) from Dstore 8081 -Connection established to port 8081 -Message sent to port 8081: LOAD_DATA Unknown.txt -Loading file Unknown.txt from Dstore 8081 -Load operation of file Unknown.txt from Dstore 8081 successfully completed -Message sent to port 8080: REMOVE AllStar.txt -Remove operation for file AllStar.txt started -Message received from port 8080: REMOVE_COMPLETE -Remove operation for file AllStar.txt successfully completed -Message sent to port 8080: REMOVE Unknown.txt -Remove operation for file Unknown.txt started -Message received from port 8080: REMOVE_COMPLETE -Remove operation for file Unknown.txt successfully completed -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST -List operation successfully completed diff --git a/client_1619025053448.log b/client_1619025053448.log deleted file mode 100644 index 772c595..0000000 --- a/client_1619025053448.log +++ /dev/null @@ -1,62 +0,0 @@ -Connection established to port 8080 -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST -List operation successfully completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: STORE_TO 8081 -Controller replied to store AllStar.txt in these Dstores: 8081 -Connection established to port 8081 -Message sent to port 8081: STORE AllStar.txt 2227 -Storing file AllStar.txt to Dstore 8081 -Message received from port 8081: ACK -ACK received from Dstore 8081 to store file AllStar.txt -Store of file AllStar.txt to Dstore 8081 successfully completed -Message received from port 8080: STORE_COMPLETE -Store operation for file AllStar.txt completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: ERROR_FILE_ALREADY_EXISTS AllStar.txt -File to store AllStar.txt already exists in the data store -Message sent to port 8080: STORE Unknown.txt 2594 -Store operation started for file Unknown.txt -Message received from port 8080: STORE_TO 8081 -Controller replied to store Unknown.txt in these Dstores: 8081 -Connection established to port 8081 -Message sent to port 8081: STORE Unknown.txt 2594 -Storing file Unknown.txt to Dstore 8081 -Message received from port 8081: ACK -ACK received from Dstore 8081 to store file Unknown.txt -Store of file Unknown.txt to Dstore 8081 successfully completed -Message received from port 8080: STORE_COMPLETE -Store operation for file Unknown.txt completed -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST AllStar.txt Unknown.txt -List operation successfully completed -Message sent to port 8080: LOAD AllStar.txt -Load operation for file AllStar.txt started -Message received from port 8080: ERROR_LOAD -Load operation for file AllStar.txt failed after having contacted 0 different Dstores -Message sent to port 8080: LOAD Unknown.txt -Load operation for file Unknown.txt started -Message received from port 8080: LOAD_FROM 8081 2594 -Controller replied to load file Unknown.txt (size: 2594 bytes) from Dstore 8081 -Connection established to port 8081 -Message sent to port 8081: LOAD_DATA Unknown.txt -Loading file Unknown.txt from Dstore 8081 -Load operation of file Unknown.txt from Dstore 8081 successfully completed -Message sent to port 8080: REMOVE AllStar.txt -Remove operation for file AllStar.txt started -Message received from port 8080: REMOVE_COMPLETE -Remove operation for file AllStar.txt successfully completed -Message sent to port 8080: REMOVE Unknown.txt -Remove operation for file Unknown.txt started -Timeout expired while reading from port 8080 -Remove operation for file Unknown.txt not completed successfully -Message sent to port 8080: LIST -List operation started -Message received from port 8080: REMOVE_COMPLETE -ERROR: Connection closed by the Controller -List operation failed diff --git a/client_1619025357100.log b/client_1619025357100.log deleted file mode 100644 index 32523cd..0000000 --- a/client_1619025357100.log +++ /dev/null @@ -1,65 +0,0 @@ -Connection established to port 8080 -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST -List operation successfully completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: STORE_TO 8081 -Controller replied to store AllStar.txt in these Dstores: 8081 -Connection established to port 8081 -Message sent to port 8081: STORE AllStar.txt 2227 -Storing file AllStar.txt to Dstore 8081 -Message received from port 8081: ACK -ACK received from Dstore 8081 to store file AllStar.txt -Store of file AllStar.txt to Dstore 8081 successfully completed -Message received from port 8080: STORE_COMPLETE -Store operation for file AllStar.txt completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: ERROR_FILE_ALREADY_EXISTS AllStar.txt -File to store AllStar.txt already exists in the data store -Message sent to port 8080: STORE Unknown.txt 2594 -Store operation started for file Unknown.txt -Message received from port 8080: STORE_TO 8081 -Controller replied to store Unknown.txt in these Dstores: 8081 -Connection established to port 8081 -Message sent to port 8081: STORE Unknown.txt 2594 -Storing file Unknown.txt to Dstore 8081 -Message received from port 8081: ACK -ACK received from Dstore 8081 to store file Unknown.txt -Store of file Unknown.txt to Dstore 8081 successfully completed -Message received from port 8080: STORE_COMPLETE -Store operation for file Unknown.txt completed -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST AllStar.txt Unknown.txt -List operation successfully completed -Message sent to port 8080: LOAD AllStar.txt -Load operation for file AllStar.txt started -Message received from port 8080: LOAD_FROM 8081 2227 -Controller replied to load file AllStar.txt (size: 2227 bytes) from Dstore 8081 -Connection established to port 8081 -Message sent to port 8081: LOAD_DATA AllStar.txt -Loading file AllStar.txt from Dstore 8081 -Load operation of file AllStar.txt from Dstore 8081 successfully completed -Message sent to port 8080: LOAD Unknown.txt -Load operation for file Unknown.txt started -Message received from port 8080: LOAD_FROM 8081 2594 -Controller replied to load file Unknown.txt (size: 2594 bytes) from Dstore 8081 -Connection established to port 8081 -Message sent to port 8081: LOAD_DATA Unknown.txt -Loading file Unknown.txt from Dstore 8081 -Load operation of file Unknown.txt from Dstore 8081 successfully completed -Message sent to port 8080: REMOVE AllStar.txt -Remove operation for file AllStar.txt started -Message received from port 8080: REMOVE_COMPLETE -Remove operation for file AllStar.txt successfully completed -Message sent to port 8080: REMOVE Unknown.txt -Remove operation for file Unknown.txt started -Message received from port 8080: REMOVE_COMPLETE -Remove operation for file Unknown.txt successfully completed -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST -List operation successfully completed diff --git a/client_1619025636890.log b/client_1619025636890.log deleted file mode 100644 index 772c595..0000000 --- a/client_1619025636890.log +++ /dev/null @@ -1,62 +0,0 @@ -Connection established to port 8080 -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST -List operation successfully completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: STORE_TO 8081 -Controller replied to store AllStar.txt in these Dstores: 8081 -Connection established to port 8081 -Message sent to port 8081: STORE AllStar.txt 2227 -Storing file AllStar.txt to Dstore 8081 -Message received from port 8081: ACK -ACK received from Dstore 8081 to store file AllStar.txt -Store of file AllStar.txt to Dstore 8081 successfully completed -Message received from port 8080: STORE_COMPLETE -Store operation for file AllStar.txt completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: ERROR_FILE_ALREADY_EXISTS AllStar.txt -File to store AllStar.txt already exists in the data store -Message sent to port 8080: STORE Unknown.txt 2594 -Store operation started for file Unknown.txt -Message received from port 8080: STORE_TO 8081 -Controller replied to store Unknown.txt in these Dstores: 8081 -Connection established to port 8081 -Message sent to port 8081: STORE Unknown.txt 2594 -Storing file Unknown.txt to Dstore 8081 -Message received from port 8081: ACK -ACK received from Dstore 8081 to store file Unknown.txt -Store of file Unknown.txt to Dstore 8081 successfully completed -Message received from port 8080: STORE_COMPLETE -Store operation for file Unknown.txt completed -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST AllStar.txt Unknown.txt -List operation successfully completed -Message sent to port 8080: LOAD AllStar.txt -Load operation for file AllStar.txt started -Message received from port 8080: ERROR_LOAD -Load operation for file AllStar.txt failed after having contacted 0 different Dstores -Message sent to port 8080: LOAD Unknown.txt -Load operation for file Unknown.txt started -Message received from port 8080: LOAD_FROM 8081 2594 -Controller replied to load file Unknown.txt (size: 2594 bytes) from Dstore 8081 -Connection established to port 8081 -Message sent to port 8081: LOAD_DATA Unknown.txt -Loading file Unknown.txt from Dstore 8081 -Load operation of file Unknown.txt from Dstore 8081 successfully completed -Message sent to port 8080: REMOVE AllStar.txt -Remove operation for file AllStar.txt started -Message received from port 8080: REMOVE_COMPLETE -Remove operation for file AllStar.txt successfully completed -Message sent to port 8080: REMOVE Unknown.txt -Remove operation for file Unknown.txt started -Timeout expired while reading from port 8080 -Remove operation for file Unknown.txt not completed successfully -Message sent to port 8080: LIST -List operation started -Message received from port 8080: REMOVE_COMPLETE -ERROR: Connection closed by the Controller -List operation failed diff --git a/client_1619025719814.log b/client_1619025719814.log deleted file mode 100644 index 32523cd..0000000 --- a/client_1619025719814.log +++ /dev/null @@ -1,65 +0,0 @@ -Connection established to port 8080 -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST -List operation successfully completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: STORE_TO 8081 -Controller replied to store AllStar.txt in these Dstores: 8081 -Connection established to port 8081 -Message sent to port 8081: STORE AllStar.txt 2227 -Storing file AllStar.txt to Dstore 8081 -Message received from port 8081: ACK -ACK received from Dstore 8081 to store file AllStar.txt -Store of file AllStar.txt to Dstore 8081 successfully completed -Message received from port 8080: STORE_COMPLETE -Store operation for file AllStar.txt completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: ERROR_FILE_ALREADY_EXISTS AllStar.txt -File to store AllStar.txt already exists in the data store -Message sent to port 8080: STORE Unknown.txt 2594 -Store operation started for file Unknown.txt -Message received from port 8080: STORE_TO 8081 -Controller replied to store Unknown.txt in these Dstores: 8081 -Connection established to port 8081 -Message sent to port 8081: STORE Unknown.txt 2594 -Storing file Unknown.txt to Dstore 8081 -Message received from port 8081: ACK -ACK received from Dstore 8081 to store file Unknown.txt -Store of file Unknown.txt to Dstore 8081 successfully completed -Message received from port 8080: STORE_COMPLETE -Store operation for file Unknown.txt completed -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST AllStar.txt Unknown.txt -List operation successfully completed -Message sent to port 8080: LOAD AllStar.txt -Load operation for file AllStar.txt started -Message received from port 8080: LOAD_FROM 8081 2227 -Controller replied to load file AllStar.txt (size: 2227 bytes) from Dstore 8081 -Connection established to port 8081 -Message sent to port 8081: LOAD_DATA AllStar.txt -Loading file AllStar.txt from Dstore 8081 -Load operation of file AllStar.txt from Dstore 8081 successfully completed -Message sent to port 8080: LOAD Unknown.txt -Load operation for file Unknown.txt started -Message received from port 8080: LOAD_FROM 8081 2594 -Controller replied to load file Unknown.txt (size: 2594 bytes) from Dstore 8081 -Connection established to port 8081 -Message sent to port 8081: LOAD_DATA Unknown.txt -Loading file Unknown.txt from Dstore 8081 -Load operation of file Unknown.txt from Dstore 8081 successfully completed -Message sent to port 8080: REMOVE AllStar.txt -Remove operation for file AllStar.txt started -Message received from port 8080: REMOVE_COMPLETE -Remove operation for file AllStar.txt successfully completed -Message sent to port 8080: REMOVE Unknown.txt -Remove operation for file Unknown.txt started -Message received from port 8080: REMOVE_COMPLETE -Remove operation for file Unknown.txt successfully completed -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST -List operation successfully completed diff --git a/client_1619034515898.log b/client_1619034515898.log deleted file mode 100644 index 32523cd..0000000 --- a/client_1619034515898.log +++ /dev/null @@ -1,65 +0,0 @@ -Connection established to port 8080 -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST -List operation successfully completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: STORE_TO 8081 -Controller replied to store AllStar.txt in these Dstores: 8081 -Connection established to port 8081 -Message sent to port 8081: STORE AllStar.txt 2227 -Storing file AllStar.txt to Dstore 8081 -Message received from port 8081: ACK -ACK received from Dstore 8081 to store file AllStar.txt -Store of file AllStar.txt to Dstore 8081 successfully completed -Message received from port 8080: STORE_COMPLETE -Store operation for file AllStar.txt completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: ERROR_FILE_ALREADY_EXISTS AllStar.txt -File to store AllStar.txt already exists in the data store -Message sent to port 8080: STORE Unknown.txt 2594 -Store operation started for file Unknown.txt -Message received from port 8080: STORE_TO 8081 -Controller replied to store Unknown.txt in these Dstores: 8081 -Connection established to port 8081 -Message sent to port 8081: STORE Unknown.txt 2594 -Storing file Unknown.txt to Dstore 8081 -Message received from port 8081: ACK -ACK received from Dstore 8081 to store file Unknown.txt -Store of file Unknown.txt to Dstore 8081 successfully completed -Message received from port 8080: STORE_COMPLETE -Store operation for file Unknown.txt completed -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST AllStar.txt Unknown.txt -List operation successfully completed -Message sent to port 8080: LOAD AllStar.txt -Load operation for file AllStar.txt started -Message received from port 8080: LOAD_FROM 8081 2227 -Controller replied to load file AllStar.txt (size: 2227 bytes) from Dstore 8081 -Connection established to port 8081 -Message sent to port 8081: LOAD_DATA AllStar.txt -Loading file AllStar.txt from Dstore 8081 -Load operation of file AllStar.txt from Dstore 8081 successfully completed -Message sent to port 8080: LOAD Unknown.txt -Load operation for file Unknown.txt started -Message received from port 8080: LOAD_FROM 8081 2594 -Controller replied to load file Unknown.txt (size: 2594 bytes) from Dstore 8081 -Connection established to port 8081 -Message sent to port 8081: LOAD_DATA Unknown.txt -Loading file Unknown.txt from Dstore 8081 -Load operation of file Unknown.txt from Dstore 8081 successfully completed -Message sent to port 8080: REMOVE AllStar.txt -Remove operation for file AllStar.txt started -Message received from port 8080: REMOVE_COMPLETE -Remove operation for file AllStar.txt successfully completed -Message sent to port 8080: REMOVE Unknown.txt -Remove operation for file Unknown.txt started -Message received from port 8080: REMOVE_COMPLETE -Remove operation for file Unknown.txt successfully completed -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST -List operation successfully completed diff --git a/client_1619034593200.log b/client_1619034593200.log deleted file mode 100644 index e94a361..0000000 --- a/client_1619034593200.log +++ /dev/null @@ -1,41 +0,0 @@ -Connection established to port 8080 -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST -List operation successfully completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: STORE_TO 8081 -Controller replied to store AllStar.txt in these Dstores: 8081 -Store of file AllStar.txt to Dstore 8081 failed -Message received from port 8080: STORE_COMPLETE -Store operation for file AllStar.txt completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: ERROR_FILE_ALREADY_EXISTS AllStar.txt -File to store AllStar.txt already exists in the data store -Message sent to port 8080: STORE Unknown.txt 2594 -Store operation started for file Unknown.txt -Message received from port 8080: STORE_TO 8081 -Controller replied to store Unknown.txt in these Dstores: 8081 -Store of file Unknown.txt to Dstore 8081 failed -Message received from port 8080: STORE_COMPLETE -Store operation for file Unknown.txt completed -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST AllStar.txt Unknown.txt -List operation successfully completed -Message sent to port 8080: LOAD AllStar.txt -Load operation for file AllStar.txt started -Message received from port 8080: ERROR_LOAD -Load operation for file AllStar.txt failed after having contacted 0 different Dstores -Message sent to port 8080: LOAD Unknown.txt -Load operation for file Unknown.txt started -Message received from port 8080: ERROR_LOAD -Load operation for file Unknown.txt failed after having contacted 0 different Dstores -Message sent to port 8080: REMOVE AllStar.txt -Remove operation for file AllStar.txt started -Message received from port 8080: REMOVE_COMPLETE -Remove operation for file AllStar.txt successfully completed -Message sent to port 8080: REMOVE Unknown.txt -Remove operation for file Unknown.txt started diff --git a/client_1619036545308.log b/client_1619036545308.log deleted file mode 100644 index 7f0f666..0000000 --- a/client_1619036545308.log +++ /dev/null @@ -1,44 +0,0 @@ -Connection established to port 8080 -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST -List operation successfully completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: STORE_TO 8081 -Controller replied to store AllStar.txt in these Dstores: 8081 -Store of file AllStar.txt to Dstore 8081 failed -Message received from port 8080: STORE_COMPLETE -Store operation for file AllStar.txt completed -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: ERROR_FILE_ALREADY_EXISTS AllStar.txt -File to store AllStar.txt already exists in the data store -Message sent to port 8080: STORE Unknown.txt 2594 -Store operation started for file Unknown.txt -Timeout expired while reading from port 8080 -Message sent to port 8080: LIST -List operation started -Message received from port 8080: LIST AllStar.txt Unknown.txt -List operation successfully completed -Message sent to port 8080: LOAD AllStar.txt -Load operation for file AllStar.txt started -Message received from port 8080: ERROR_LOAD -Load operation for file AllStar.txt failed after having contacted 0 different Dstores -Message sent to port 8080: LOAD Unknown.txt -Load operation for file Unknown.txt started -Message received from port 8080: ERROR_LOAD -Load operation for file Unknown.txt failed after having contacted 0 different Dstores -Message sent to port 8080: REMOVE AllStar.txt -Remove operation for file AllStar.txt started -Timeout expired while reading from port 8080 -Remove operation for file AllStar.txt not completed successfully -Message sent to port 8080: REMOVE Unknown.txt -Remove operation for file Unknown.txt started -Message received from port 8080: REMOVE_COMPLETE -Remove operation for file Unknown.txt successfully completed -Message sent to port 8080: LIST -List operation started -Message received from port 8080: REMOVE_COMPLETE -ERROR: Connection closed by the Controller -List operation failed diff --git a/client_1619039097527.log b/client_1619039097527.log deleted file mode 100644 index a89806a..0000000 --- a/client_1619039097527.log +++ /dev/null @@ -1,26 +0,0 @@ -Connection established to port 8080 -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: ERROR_NOT_ENOUGH_DSTORES -ERROR: Not enough Dstores have joined the data store yet -Message sent to port 8080: STORE Unknown.txt 2594 -Store operation started for file Unknown.txt -Message received from port 8080: ERROR_NOT_ENOUGH_DSTORES -ERROR: Not enough Dstores have joined the data store yet -Message sent to port 8080: STORE PumpkinHill.txt 2755 -Store operation started for file PumpkinHill.txt -Message received from port 8080: ERROR_NOT_ENOUGH_DSTORES -ERROR: Not enough Dstores have joined the data store yet -Message sent to port 8080: STORE SnowHalation.txt 1006 -Store operation started for file SnowHalation.txt -Message received from port 8080: ERROR_NOT_ENOUGH_DSTORES -ERROR: Not enough Dstores have joined the data store yet -Message sent to port 8080: STORE Grandad.txt 349 -Store operation started for file Grandad.txt -Message received from port 8080: ERROR_NOT_ENOUGH_DSTORES -ERROR: Not enough Dstores have joined the data store yet -Message sent to port 8080: LIST -List operation started -Message received from port 8080: ERROR_NOT_ENOUGH_DSTORES -ERROR: Not enough Dstores have joined the data store yet -List operation failed diff --git a/client_1619039957471.log b/client_1619039957471.log deleted file mode 100644 index a89806a..0000000 --- a/client_1619039957471.log +++ /dev/null @@ -1,26 +0,0 @@ -Connection established to port 8080 -Message sent to port 8080: STORE AllStar.txt 2227 -Store operation started for file AllStar.txt -Message received from port 8080: ERROR_NOT_ENOUGH_DSTORES -ERROR: Not enough Dstores have joined the data store yet -Message sent to port 8080: STORE Unknown.txt 2594 -Store operation started for file Unknown.txt -Message received from port 8080: ERROR_NOT_ENOUGH_DSTORES -ERROR: Not enough Dstores have joined the data store yet -Message sent to port 8080: STORE PumpkinHill.txt 2755 -Store operation started for file PumpkinHill.txt -Message received from port 8080: ERROR_NOT_ENOUGH_DSTORES -ERROR: Not enough Dstores have joined the data store yet -Message sent to port 8080: STORE SnowHalation.txt 1006 -Store operation started for file SnowHalation.txt -Message received from port 8080: ERROR_NOT_ENOUGH_DSTORES -ERROR: Not enough Dstores have joined the data store yet -Message sent to port 8080: STORE Grandad.txt 349 -Store operation started for file Grandad.txt -Message received from port 8080: ERROR_NOT_ENOUGH_DSTORES -ERROR: Not enough Dstores have joined the data store yet -Message sent to port 8080: LIST -List operation started -Message received from port 8080: ERROR_NOT_ENOUGH_DSTORES -ERROR: Not enough Dstores have joined the data store yet -List operation failed diff --git a/downloads/Grandad.txt b/downloads/Grandad.txt new file mode 100644 index 0000000..4891fef --- /dev/null +++ b/downloads/Grandad.txt @@ -0,0 +1,14 @@ +(Yabba Dabba Doo!) + +Flintstones. Meet the Flintstones. +They're the modern stone age family. +From the town of Bedrock, +They're a page right out of history. + +Let's ride with the family down the street. +Through the courtesy of Fred's two feet. + +When you're with the Flintstones +Have a yabba dabba doo time. +A dabba doo time. +We'll have a gay old time. diff --git a/downloads/PumpkinHill.txt b/downloads/PumpkinHill.txt new file mode 100644 index 0000000..e245805 --- /dev/null +++ b/downloads/PumpkinHill.txt @@ -0,0 +1,68 @@ +You know me, the fighting freak Knuckles, +And we're at Pumpkin Hill, +You ready? + +I ain't gonna let it get to me, I'm just gonna creep, +Down in Pumpkin Hill I gots to find my lost piece. +I know that it's here, I can sense it in my feet, +The great Emerald's power allows me to feel. +I can't see a thing but it's around somewhere, +I'm gonna hold my head 'cause I have no fear. +This probably seems crazy, crazy, a graveyard theory, +A ghost tried to approach me and got leery. + +Asked him a question and he vanished in a second, +I'm walkin' through valleys cryin' pumpkin in the alley. +Didn't seem happy but they sure tried to get me, +Had to back 'em up with the fist, metal crack 'em. +I'm hearing someone sayin' "You a chicken, don't be scared!" +It had to be the wind, 'cause nobody wasn't there. +I searched and I searched as I climbed up the wall, +And then I started to fly, I went in deeper! + +Let it get to me? I'm just gonna creep, +Down in Pumpkin Hill I gots to find my lost piece. +I know that it's here, I sense it in my feet, +The great Emerald's power allows me to feel. +I can't see a thing but it's around somewhere, +I gotta hold my head, I have no fear. +It probably seems crazy, crazy, a graveyard theory, +A ghost tried to approach me, he got leery. + +(This is Knuckles, who fears none.) +(It's real deal when it comes to my name, kid!) + +I ain't gonna let it get to me, I'm just gonna creep, +Down in Pumpkin Hill I gots to find my lost piece. +I know that it's here, I can sense it in my feet, +The great Emerald's power allows me to feel. +I can't see a thing but it's around somewhere, +I'm gonna hold my head 'cause I have no fear. +This probably seems crazy, crazy, a graveyard theory, +A ghost tried to approach me and got leery. + +Asked him a question and he vanished in a second, +I'm walkin' through valleys cryin' pumpkin in the alley. +Didn't seem happy but they sure tried to get me, +Had to back 'em up with the fist, metal crack 'em. +I'm hearing someone sayin' "You a chicken, don't be scared!" +It had to be the wind, 'cause nobody wasn't there. +I searched and I searched as I climbed up the wall, +And then I started to fly, I went in deeper! + +Let it get to me? I'm just gonna creep, +Down in Pumpkin Hill I gots to find my lost piece. +I know that it's here, I sense it in my feet, +The great Emerald's power allows me to feel. +I can't see a thing but it's around somewhere, +I gotta hold my head, I have no fear. +It probably seems crazy, crazy, a graveyard theory, +A ghost tried to approach me, he got leery. + +(Spooky up in here, it's crazy in here,) +(We still gon' keep it goin', I'm Knuckles.) +(Nobody scares me,) +(Whoever want it, bring it!) +(I don't care, we 'ka do this.) +(Then come step up to the plate, and meet your match,) +(It ain't no thang.) diff --git a/downloads/SnowHalation.txt b/downloads/SnowHalation.txt new file mode 100644 index 0000000..09add47 --- /dev/null +++ b/downloads/SnowHalation.txt @@ -0,0 +1,36 @@ +Fushigi da ne ima no kimochi +Sora kara futte kita mitai +Tokubetsu na kisetsu no iro ga tokimeki o miseru yo + +Hajimete deatta toki kara +Yokan ni sawagu kokoro no Melody +Tomerarenai tomaranai na・ze + +Todokete +Setsunasa ni wa namae o tsukeyou ka "Snow halation" +Omoi ga kasanaru made matezu ni +Kuyashii kedo suki tte junjou +Binetsu no naka tameratte mo dame da ne +Tobikomu yuuki ni sansei mamonaku Start!! + +Oto mo naku kehai mo naku +Shizuka ni unmei wa kawaru +Korekara no mirai ni mune no kodou ga hayaku naru + +Tatoeba komatta toki ni wa +Sugu kaketsukete dakishimetakute +Doko ni ite mo dokodemo Fly high + +Isoide +Itsu no ma ni ka ookiku nari sugita "True emotion" +Yume dake miteru you ja tsurai yo +Koibito wa kimi tte iitai +Yasashii me ga tomadotteru iya da yo +Kono mama ikki ni aijou azukete Please!! + +Todokete +Setsunasa ni wa namae o tsukeyou ka "Snow halation" +Omoi ga kasanaru made matezu ni +Kuyashii kedo suki tte junjou +Binetsu no naka tameratte mo dame da ne +Tobikomu yuuki ni sansei mamonaku Start!! diff --git a/store1/AllStar.txt b/store1/AllStar.txt new file mode 100644 index 0000000..0cf2ab6 --- /dev/null +++ b/store1/AllStar.txt @@ -0,0 +1,69 @@ +Somebody once told me the world is gonna roll me +I ain't the sharpest tool in the shed +She was looking kind of dumb with her finger and her thumb +In the shape of an "L" on her forehead + +Well, the years start coming and they don't stop coming +Fed to the rules and I hit the ground running +Didn't make sense not to live for fun +Your brain gets smart but your head gets dumb + +So much to do, so much to see +So what's wrong with taking the back streets? +You'll never know if you don't go +You'll never shine if you don't glow + +Hey, now, you're an all-star, get your game on, go play +Hey, now, you're a rock star, get the show on, get paid +And all that glitters is gold +Only shooting stars break the mold + +It's a cool place and they say it gets colder +You're bundled up now wait 'til you get older +But the meteor men beg to differ +Judging by the hole in the satellite picture + +The ice we skate is getting pretty thin +The water's getting warm so you might as well swim +My world's on fire. How about yours? +That's the way I like it and I'll never get bored + +Hey, now, you're an all-star, get your game on, go play +Hey, now, you're a rock star, get the show on, get paid +And all that glitters is gold +Only shooting stars break the mold + +Go for the moon +Go for the moon +Go for the moon +Go for the moon + +Hey, now, you're an all-star, get your game on, go play +Hey, now, you're a rock star, get the show on, get paid +And all that glitters is gold +Only shooting stars + +Somebody once asked could I spare some change for gas +I need to get myself away from this place +I said yep, what a concept +I could use a little fuel myself +And we could all use a little change + +Well, the years start coming and they don't stop coming +Fed to the rules and I hit the ground running +Didn't make sense not to live for fun +Your brain gets smart but your head gets dumb + +So much to do, so much to see +So what's wrong with taking the back streets? +You'll never know if you don't go +You'll never shine if you don't glow + +Hey, now, you're an all star, get your game on, go play +Hey, now, you're a rock star, get the show on, get paid +And all that glitters is gold +Only shooting stars break the mold + +And all that glitters is gold +Only shooting stars break the mold +he mo \ No newline at end of file diff --git a/store1/Grandad.txt b/store1/Grandad.txt new file mode 100644 index 0000000..75e3e88 --- /dev/null +++ b/store1/Grandad.txt @@ -0,0 +1,15 @@ +(Yabba Dabba Doo!) + +Flintstones. Meet the Flintstones. +They're the modern stone age family. +From the town of Bedrock, +They're a page right out of history. + +Let's ride with the family down the street. +Through the courtesy of Fred's two feet. + +When you're with the Flintstones +Have a yabba dabba doo time. +A dabba doo time. +We'll have a gay old time. +d t \ No newline at end of file diff --git a/store1/PumpkinHill.txt b/store1/PumpkinHill.txt new file mode 100644 index 0000000..0489b4b --- /dev/null +++ b/store1/PumpkinHill.txt @@ -0,0 +1,69 @@ +You know me, the fighting freak Knuckles, +And we're at Pumpkin Hill, +You ready? + +I ain't gonna let it get to me, I'm just gonna creep, +Down in Pumpkin Hill I gots to find my lost piece. +I know that it's here, I can sense it in my feet, +The great Emerald's power allows me to feel. +I can't see a thing but it's around somewhere, +I'm gonna hold my head 'cause I have no fear. +This probably seems crazy, crazy, a graveyard theory, +A ghost tried to approach me and got leery. + +Asked him a question and he vanished in a second, +I'm walkin' through valleys cryin' pumpkin in the alley. +Didn't seem happy but they sure tried to get me, +Had to back 'em up with the fist, metal crack 'em. +I'm hearing someone sayin' "You a chicken, don't be scared!" +It had to be the wind, 'cause nobody wasn't there. +I searched and I searched as I climbed up the wall, +And then I started to fly, I went in deeper! + +Let it get to me? I'm just gonna creep, +Down in Pumpkin Hill I gots to find my lost piece. +I know that it's here, I sense it in my feet, +The great Emerald's power allows me to feel. +I can't see a thing but it's around somewhere, +I gotta hold my head, I have no fear. +It probably seems crazy, crazy, a graveyard theory, +A ghost tried to approach me, he got leery. + +(This is Knuckles, who fears none.) +(It's real deal when it comes to my name, kid!) + +I ain't gonna let it get to me, I'm just gonna creep, +Down in Pumpkin Hill I gots to find my lost piece. +I know that it's here, I can sense it in my feet, +The great Emerald's power allows me to feel. +I can't see a thing but it's around somewhere, +I'm gonna hold my head 'cause I have no fear. +This probably seems crazy, crazy, a graveyard theory, +A ghost tried to approach me and got leery. + +Asked him a question and he vanished in a second, +I'm walkin' through valleys cryin' pumpkin in the alley. +Didn't seem happy but they sure tried to get me, +Had to back 'em up with the fist, metal crack 'em. +I'm hearing someone sayin' "You a chicken, don't be scared!" +It had to be the wind, 'cause nobody wasn't there. +I searched and I searched as I climbed up the wall, +And then I started to fly, I went in deeper! + +Let it get to me? I'm just gonna creep, +Down in Pumpkin Hill I gots to find my lost piece. +I know that it's here, I sense it in my feet, +The great Emerald's power allows me to feel. +I can't see a thing but it's around somewhere, +I gotta hold my head, I have no fear. +It probably seems crazy, crazy, a graveyard theory, +A ghost tried to approach me, he got leery. + +(Spooky up in here, it's crazy in here,) +(We still gon' keep it goin', I'm Knuckles.) +(Nobody scares me,) +(Whoever want it, bring it!) +(I don't care, we 'ka do this.) +(Then come step up to the plate, and meet your match,) +(It ain't no thang.) +thang \ No newline at end of file diff --git a/store1/SnowHalation.txt b/store1/SnowHalation.txt new file mode 100644 index 0000000..5d7aafb --- /dev/null +++ b/store1/SnowHalation.txt @@ -0,0 +1,37 @@ +Fushigi da ne ima no kimochi +Sora kara futte kita mitai +Tokubetsu na kisetsu no iro ga tokimeki o miseru yo + +Hajimete deatta toki kara +Yokan ni sawagu kokoro no Melody +Tomerarenai tomaranai na・ze + +Todokete +Setsunasa ni wa namae o tsukeyou ka "Snow halation" +Omoi ga kasanaru made matezu ni +Kuyashii kedo suki tte junjou +Binetsu no naka tameratte mo dame da ne +Tobikomu yuuki ni sansei mamonaku Start!! + +Oto mo naku kehai mo naku +Shizuka ni unmei wa kawaru +Korekara no mirai ni mune no kodou ga hayaku naru + +Tatoeba komatta toki ni wa +Sugu kaketsukete dakishimetakute +Doko ni ite mo dokodemo Fly high + +Isoide +Itsu no ma ni ka ookiku nari sugita "True emotion" +Yume dake miteru you ja tsurai yo +Koibito wa kimi tte iitai +Yasashii me ga tomadotteru iya da yo +Kono mama ikki ni aijou azukete Please!! + +Todokete +Setsunasa ni wa namae o tsukeyou ka "Snow halation" +Omoi ga kasanaru made matezu ni +Kuyashii kedo suki tte junjou +Binetsu no naka tameratte mo dame da ne +Tobikomu yuuki ni sansei mamonaku Start!! +ta \ No newline at end of file diff --git a/store1/Unknown.txt b/store1/Unknown.txt new file mode 100644 index 0000000..349b7a9 --- /dev/null +++ b/store1/Unknown.txt @@ -0,0 +1,75 @@ +Here I come, rougher than the rest of them +The best of them, tougher than leather +You can call me Knuckles, unlike Sonic I don't chuckle +I'd rather flex my muscles + +I'm hard as nails, it ain't hard to tell +I break 'em down whether they're solid or frail +Unlike the rest I'm independent since my first breath +First test, feel the right, than the worst's left + +Born on an island in the heavens +The blood of my ancestors flows inside me +My duty is to save the flower +From evil deterioration + +I will be the one to set your heart free, true +Cleanse yourself of them evil spirits that's in you + +Streaking lights, loud sounds, and instincts +Are the elements that keep me going +I am fighting my own mission +Nothing's gonna stand in my way + +I will be the one to set your heart free, true +Cleanse yourself of them evil spirits that's in you + +Won't be frightened, I'll stand up to all the pain and turmoil +Just believe in myself, won't rely on others +Get this power to wipe out the havoc and anarchy +This is my planet, gonna fight for my destiny + +Here I come, rougher than the rest of them +The best of them, tougher than leather +You can call me Knuckles, unlike Sonic I don't chuckle +I'd rather flex my muscles + +I'm hard as nails, it ain't hard to tell +I break 'em down whether they're solid or frail +Unlike the rest I'm independent since my first breath +First test, feel the right, than the worst's left + +I have no such things as weak spots +Don't approve of him but gotta trust him +This alliance has a purpose +This partnership is only temporary + +I will be the one to set your heart free, true +Cleanse yourself of evil spirits that got in you + +Won't be frightened, I'll stand up to all the pain and turmoil +Just believe in myself, won't rely on others +Freedom will be waiting when serenity is restored +This is my planet, I shall not surrender + +Won't be frightened, I'll stand up to all the pain and turmoil +Just believe in myself, won't rely on others +Get this power to wipe out the havoc and anarchy +This is my planet, gonna fight + +Won't be frightened, I'll stand up to all the pain and turmoil +Just believe in myself, won't rely on others +Freedom will be waiting when serenity is restored +This is my planet, I shall not surrender + +The new porcupine on the block with the buff chest +In the wilderness with the ruggedness +Knock, knock, it's Knuckles, the bloat thrower +Independent flower, Magical Emerald holder +I'll give you the coldest shoulder +My spikes go through boulders, that's why I stay a loner +I was born by myself, I don't need a posse +I get it on by myself, adversaries get shelved + +Right on! +ght on \ No newline at end of file diff --git a/store2/AllStar.txt b/store2/AllStar.txt new file mode 100644 index 0000000..0cf2ab6 --- /dev/null +++ b/store2/AllStar.txt @@ -0,0 +1,69 @@ +Somebody once told me the world is gonna roll me +I ain't the sharpest tool in the shed +She was looking kind of dumb with her finger and her thumb +In the shape of an "L" on her forehead + +Well, the years start coming and they don't stop coming +Fed to the rules and I hit the ground running +Didn't make sense not to live for fun +Your brain gets smart but your head gets dumb + +So much to do, so much to see +So what's wrong with taking the back streets? +You'll never know if you don't go +You'll never shine if you don't glow + +Hey, now, you're an all-star, get your game on, go play +Hey, now, you're a rock star, get the show on, get paid +And all that glitters is gold +Only shooting stars break the mold + +It's a cool place and they say it gets colder +You're bundled up now wait 'til you get older +But the meteor men beg to differ +Judging by the hole in the satellite picture + +The ice we skate is getting pretty thin +The water's getting warm so you might as well swim +My world's on fire. How about yours? +That's the way I like it and I'll never get bored + +Hey, now, you're an all-star, get your game on, go play +Hey, now, you're a rock star, get the show on, get paid +And all that glitters is gold +Only shooting stars break the mold + +Go for the moon +Go for the moon +Go for the moon +Go for the moon + +Hey, now, you're an all-star, get your game on, go play +Hey, now, you're a rock star, get the show on, get paid +And all that glitters is gold +Only shooting stars + +Somebody once asked could I spare some change for gas +I need to get myself away from this place +I said yep, what a concept +I could use a little fuel myself +And we could all use a little change + +Well, the years start coming and they don't stop coming +Fed to the rules and I hit the ground running +Didn't make sense not to live for fun +Your brain gets smart but your head gets dumb + +So much to do, so much to see +So what's wrong with taking the back streets? +You'll never know if you don't go +You'll never shine if you don't glow + +Hey, now, you're an all star, get your game on, go play +Hey, now, you're a rock star, get the show on, get paid +And all that glitters is gold +Only shooting stars break the mold + +And all that glitters is gold +Only shooting stars break the mold +he mo \ No newline at end of file diff --git a/store2/Grandad.txt b/store2/Grandad.txt new file mode 100644 index 0000000..75e3e88 --- /dev/null +++ b/store2/Grandad.txt @@ -0,0 +1,15 @@ +(Yabba Dabba Doo!) + +Flintstones. Meet the Flintstones. +They're the modern stone age family. +From the town of Bedrock, +They're a page right out of history. + +Let's ride with the family down the street. +Through the courtesy of Fred's two feet. + +When you're with the Flintstones +Have a yabba dabba doo time. +A dabba doo time. +We'll have a gay old time. +d t \ No newline at end of file diff --git a/store2/PumpkinHill.txt b/store2/PumpkinHill.txt new file mode 100644 index 0000000..0489b4b --- /dev/null +++ b/store2/PumpkinHill.txt @@ -0,0 +1,69 @@ +You know me, the fighting freak Knuckles, +And we're at Pumpkin Hill, +You ready? + +I ain't gonna let it get to me, I'm just gonna creep, +Down in Pumpkin Hill I gots to find my lost piece. +I know that it's here, I can sense it in my feet, +The great Emerald's power allows me to feel. +I can't see a thing but it's around somewhere, +I'm gonna hold my head 'cause I have no fear. +This probably seems crazy, crazy, a graveyard theory, +A ghost tried to approach me and got leery. + +Asked him a question and he vanished in a second, +I'm walkin' through valleys cryin' pumpkin in the alley. +Didn't seem happy but they sure tried to get me, +Had to back 'em up with the fist, metal crack 'em. +I'm hearing someone sayin' "You a chicken, don't be scared!" +It had to be the wind, 'cause nobody wasn't there. +I searched and I searched as I climbed up the wall, +And then I started to fly, I went in deeper! + +Let it get to me? I'm just gonna creep, +Down in Pumpkin Hill I gots to find my lost piece. +I know that it's here, I sense it in my feet, +The great Emerald's power allows me to feel. +I can't see a thing but it's around somewhere, +I gotta hold my head, I have no fear. +It probably seems crazy, crazy, a graveyard theory, +A ghost tried to approach me, he got leery. + +(This is Knuckles, who fears none.) +(It's real deal when it comes to my name, kid!) + +I ain't gonna let it get to me, I'm just gonna creep, +Down in Pumpkin Hill I gots to find my lost piece. +I know that it's here, I can sense it in my feet, +The great Emerald's power allows me to feel. +I can't see a thing but it's around somewhere, +I'm gonna hold my head 'cause I have no fear. +This probably seems crazy, crazy, a graveyard theory, +A ghost tried to approach me and got leery. + +Asked him a question and he vanished in a second, +I'm walkin' through valleys cryin' pumpkin in the alley. +Didn't seem happy but they sure tried to get me, +Had to back 'em up with the fist, metal crack 'em. +I'm hearing someone sayin' "You a chicken, don't be scared!" +It had to be the wind, 'cause nobody wasn't there. +I searched and I searched as I climbed up the wall, +And then I started to fly, I went in deeper! + +Let it get to me? I'm just gonna creep, +Down in Pumpkin Hill I gots to find my lost piece. +I know that it's here, I sense it in my feet, +The great Emerald's power allows me to feel. +I can't see a thing but it's around somewhere, +I gotta hold my head, I have no fear. +It probably seems crazy, crazy, a graveyard theory, +A ghost tried to approach me, he got leery. + +(Spooky up in here, it's crazy in here,) +(We still gon' keep it goin', I'm Knuckles.) +(Nobody scares me,) +(Whoever want it, bring it!) +(I don't care, we 'ka do this.) +(Then come step up to the plate, and meet your match,) +(It ain't no thang.) +thang \ No newline at end of file diff --git a/store2/SnowHalation.txt b/store2/SnowHalation.txt new file mode 100644 index 0000000..5d7aafb --- /dev/null +++ b/store2/SnowHalation.txt @@ -0,0 +1,37 @@ +Fushigi da ne ima no kimochi +Sora kara futte kita mitai +Tokubetsu na kisetsu no iro ga tokimeki o miseru yo + +Hajimete deatta toki kara +Yokan ni sawagu kokoro no Melody +Tomerarenai tomaranai na・ze + +Todokete +Setsunasa ni wa namae o tsukeyou ka "Snow halation" +Omoi ga kasanaru made matezu ni +Kuyashii kedo suki tte junjou +Binetsu no naka tameratte mo dame da ne +Tobikomu yuuki ni sansei mamonaku Start!! + +Oto mo naku kehai mo naku +Shizuka ni unmei wa kawaru +Korekara no mirai ni mune no kodou ga hayaku naru + +Tatoeba komatta toki ni wa +Sugu kaketsukete dakishimetakute +Doko ni ite mo dokodemo Fly high + +Isoide +Itsu no ma ni ka ookiku nari sugita "True emotion" +Yume dake miteru you ja tsurai yo +Koibito wa kimi tte iitai +Yasashii me ga tomadotteru iya da yo +Kono mama ikki ni aijou azukete Please!! + +Todokete +Setsunasa ni wa namae o tsukeyou ka "Snow halation" +Omoi ga kasanaru made matezu ni +Kuyashii kedo suki tte junjou +Binetsu no naka tameratte mo dame da ne +Tobikomu yuuki ni sansei mamonaku Start!! +ta \ No newline at end of file diff --git a/store2/Unknown.txt b/store2/Unknown.txt new file mode 100644 index 0000000..349b7a9 --- /dev/null +++ b/store2/Unknown.txt @@ -0,0 +1,75 @@ +Here I come, rougher than the rest of them +The best of them, tougher than leather +You can call me Knuckles, unlike Sonic I don't chuckle +I'd rather flex my muscles + +I'm hard as nails, it ain't hard to tell +I break 'em down whether they're solid or frail +Unlike the rest I'm independent since my first breath +First test, feel the right, than the worst's left + +Born on an island in the heavens +The blood of my ancestors flows inside me +My duty is to save the flower +From evil deterioration + +I will be the one to set your heart free, true +Cleanse yourself of them evil spirits that's in you + +Streaking lights, loud sounds, and instincts +Are the elements that keep me going +I am fighting my own mission +Nothing's gonna stand in my way + +I will be the one to set your heart free, true +Cleanse yourself of them evil spirits that's in you + +Won't be frightened, I'll stand up to all the pain and turmoil +Just believe in myself, won't rely on others +Get this power to wipe out the havoc and anarchy +This is my planet, gonna fight for my destiny + +Here I come, rougher than the rest of them +The best of them, tougher than leather +You can call me Knuckles, unlike Sonic I don't chuckle +I'd rather flex my muscles + +I'm hard as nails, it ain't hard to tell +I break 'em down whether they're solid or frail +Unlike the rest I'm independent since my first breath +First test, feel the right, than the worst's left + +I have no such things as weak spots +Don't approve of him but gotta trust him +This alliance has a purpose +This partnership is only temporary + +I will be the one to set your heart free, true +Cleanse yourself of evil spirits that got in you + +Won't be frightened, I'll stand up to all the pain and turmoil +Just believe in myself, won't rely on others +Freedom will be waiting when serenity is restored +This is my planet, I shall not surrender + +Won't be frightened, I'll stand up to all the pain and turmoil +Just believe in myself, won't rely on others +Get this power to wipe out the havoc and anarchy +This is my planet, gonna fight + +Won't be frightened, I'll stand up to all the pain and turmoil +Just believe in myself, won't rely on others +Freedom will be waiting when serenity is restored +This is my planet, I shall not surrender + +The new porcupine on the block with the buff chest +In the wilderness with the ruggedness +Knock, knock, it's Knuckles, the bloat thrower +Independent flower, Magical Emerald holder +I'll give you the coldest shoulder +My spikes go through boulders, that's why I stay a loner +I was born by myself, I don't need a posse +I get it on by myself, adversaries get shelved + +Right on! +ght on \ No newline at end of file diff --git a/store3/AllStar.txt b/store3/AllStar.txt new file mode 100644 index 0000000..0cf2ab6 --- /dev/null +++ b/store3/AllStar.txt @@ -0,0 +1,69 @@ +Somebody once told me the world is gonna roll me +I ain't the sharpest tool in the shed +She was looking kind of dumb with her finger and her thumb +In the shape of an "L" on her forehead + +Well, the years start coming and they don't stop coming +Fed to the rules and I hit the ground running +Didn't make sense not to live for fun +Your brain gets smart but your head gets dumb + +So much to do, so much to see +So what's wrong with taking the back streets? +You'll never know if you don't go +You'll never shine if you don't glow + +Hey, now, you're an all-star, get your game on, go play +Hey, now, you're a rock star, get the show on, get paid +And all that glitters is gold +Only shooting stars break the mold + +It's a cool place and they say it gets colder +You're bundled up now wait 'til you get older +But the meteor men beg to differ +Judging by the hole in the satellite picture + +The ice we skate is getting pretty thin +The water's getting warm so you might as well swim +My world's on fire. How about yours? +That's the way I like it and I'll never get bored + +Hey, now, you're an all-star, get your game on, go play +Hey, now, you're a rock star, get the show on, get paid +And all that glitters is gold +Only shooting stars break the mold + +Go for the moon +Go for the moon +Go for the moon +Go for the moon + +Hey, now, you're an all-star, get your game on, go play +Hey, now, you're a rock star, get the show on, get paid +And all that glitters is gold +Only shooting stars + +Somebody once asked could I spare some change for gas +I need to get myself away from this place +I said yep, what a concept +I could use a little fuel myself +And we could all use a little change + +Well, the years start coming and they don't stop coming +Fed to the rules and I hit the ground running +Didn't make sense not to live for fun +Your brain gets smart but your head gets dumb + +So much to do, so much to see +So what's wrong with taking the back streets? +You'll never know if you don't go +You'll never shine if you don't glow + +Hey, now, you're an all star, get your game on, go play +Hey, now, you're a rock star, get the show on, get paid +And all that glitters is gold +Only shooting stars break the mold + +And all that glitters is gold +Only shooting stars break the mold +he mo \ No newline at end of file diff --git a/store3/Grandad.txt b/store3/Grandad.txt new file mode 100644 index 0000000..75e3e88 --- /dev/null +++ b/store3/Grandad.txt @@ -0,0 +1,15 @@ +(Yabba Dabba Doo!) + +Flintstones. Meet the Flintstones. +They're the modern stone age family. +From the town of Bedrock, +They're a page right out of history. + +Let's ride with the family down the street. +Through the courtesy of Fred's two feet. + +When you're with the Flintstones +Have a yabba dabba doo time. +A dabba doo time. +We'll have a gay old time. +d t \ No newline at end of file diff --git a/store3/PumpkinHill.txt b/store3/PumpkinHill.txt new file mode 100644 index 0000000..0489b4b --- /dev/null +++ b/store3/PumpkinHill.txt @@ -0,0 +1,69 @@ +You know me, the fighting freak Knuckles, +And we're at Pumpkin Hill, +You ready? + +I ain't gonna let it get to me, I'm just gonna creep, +Down in Pumpkin Hill I gots to find my lost piece. +I know that it's here, I can sense it in my feet, +The great Emerald's power allows me to feel. +I can't see a thing but it's around somewhere, +I'm gonna hold my head 'cause I have no fear. +This probably seems crazy, crazy, a graveyard theory, +A ghost tried to approach me and got leery. + +Asked him a question and he vanished in a second, +I'm walkin' through valleys cryin' pumpkin in the alley. +Didn't seem happy but they sure tried to get me, +Had to back 'em up with the fist, metal crack 'em. +I'm hearing someone sayin' "You a chicken, don't be scared!" +It had to be the wind, 'cause nobody wasn't there. +I searched and I searched as I climbed up the wall, +And then I started to fly, I went in deeper! + +Let it get to me? I'm just gonna creep, +Down in Pumpkin Hill I gots to find my lost piece. +I know that it's here, I sense it in my feet, +The great Emerald's power allows me to feel. +I can't see a thing but it's around somewhere, +I gotta hold my head, I have no fear. +It probably seems crazy, crazy, a graveyard theory, +A ghost tried to approach me, he got leery. + +(This is Knuckles, who fears none.) +(It's real deal when it comes to my name, kid!) + +I ain't gonna let it get to me, I'm just gonna creep, +Down in Pumpkin Hill I gots to find my lost piece. +I know that it's here, I can sense it in my feet, +The great Emerald's power allows me to feel. +I can't see a thing but it's around somewhere, +I'm gonna hold my head 'cause I have no fear. +This probably seems crazy, crazy, a graveyard theory, +A ghost tried to approach me and got leery. + +Asked him a question and he vanished in a second, +I'm walkin' through valleys cryin' pumpkin in the alley. +Didn't seem happy but they sure tried to get me, +Had to back 'em up with the fist, metal crack 'em. +I'm hearing someone sayin' "You a chicken, don't be scared!" +It had to be the wind, 'cause nobody wasn't there. +I searched and I searched as I climbed up the wall, +And then I started to fly, I went in deeper! + +Let it get to me? I'm just gonna creep, +Down in Pumpkin Hill I gots to find my lost piece. +I know that it's here, I sense it in my feet, +The great Emerald's power allows me to feel. +I can't see a thing but it's around somewhere, +I gotta hold my head, I have no fear. +It probably seems crazy, crazy, a graveyard theory, +A ghost tried to approach me, he got leery. + +(Spooky up in here, it's crazy in here,) +(We still gon' keep it goin', I'm Knuckles.) +(Nobody scares me,) +(Whoever want it, bring it!) +(I don't care, we 'ka do this.) +(Then come step up to the plate, and meet your match,) +(It ain't no thang.) +thang \ No newline at end of file diff --git a/store3/SnowHalation.txt b/store3/SnowHalation.txt new file mode 100644 index 0000000..5d7aafb --- /dev/null +++ b/store3/SnowHalation.txt @@ -0,0 +1,37 @@ +Fushigi da ne ima no kimochi +Sora kara futte kita mitai +Tokubetsu na kisetsu no iro ga tokimeki o miseru yo + +Hajimete deatta toki kara +Yokan ni sawagu kokoro no Melody +Tomerarenai tomaranai na・ze + +Todokete +Setsunasa ni wa namae o tsukeyou ka "Snow halation" +Omoi ga kasanaru made matezu ni +Kuyashii kedo suki tte junjou +Binetsu no naka tameratte mo dame da ne +Tobikomu yuuki ni sansei mamonaku Start!! + +Oto mo naku kehai mo naku +Shizuka ni unmei wa kawaru +Korekara no mirai ni mune no kodou ga hayaku naru + +Tatoeba komatta toki ni wa +Sugu kaketsukete dakishimetakute +Doko ni ite mo dokodemo Fly high + +Isoide +Itsu no ma ni ka ookiku nari sugita "True emotion" +Yume dake miteru you ja tsurai yo +Koibito wa kimi tte iitai +Yasashii me ga tomadotteru iya da yo +Kono mama ikki ni aijou azukete Please!! + +Todokete +Setsunasa ni wa namae o tsukeyou ka "Snow halation" +Omoi ga kasanaru made matezu ni +Kuyashii kedo suki tte junjou +Binetsu no naka tameratte mo dame da ne +Tobikomu yuuki ni sansei mamonaku Start!! +ta \ No newline at end of file diff --git a/store3/Unknown.txt b/store3/Unknown.txt new file mode 100644 index 0000000..349b7a9 --- /dev/null +++ b/store3/Unknown.txt @@ -0,0 +1,75 @@ +Here I come, rougher than the rest of them +The best of them, tougher than leather +You can call me Knuckles, unlike Sonic I don't chuckle +I'd rather flex my muscles + +I'm hard as nails, it ain't hard to tell +I break 'em down whether they're solid or frail +Unlike the rest I'm independent since my first breath +First test, feel the right, than the worst's left + +Born on an island in the heavens +The blood of my ancestors flows inside me +My duty is to save the flower +From evil deterioration + +I will be the one to set your heart free, true +Cleanse yourself of them evil spirits that's in you + +Streaking lights, loud sounds, and instincts +Are the elements that keep me going +I am fighting my own mission +Nothing's gonna stand in my way + +I will be the one to set your heart free, true +Cleanse yourself of them evil spirits that's in you + +Won't be frightened, I'll stand up to all the pain and turmoil +Just believe in myself, won't rely on others +Get this power to wipe out the havoc and anarchy +This is my planet, gonna fight for my destiny + +Here I come, rougher than the rest of them +The best of them, tougher than leather +You can call me Knuckles, unlike Sonic I don't chuckle +I'd rather flex my muscles + +I'm hard as nails, it ain't hard to tell +I break 'em down whether they're solid or frail +Unlike the rest I'm independent since my first breath +First test, feel the right, than the worst's left + +I have no such things as weak spots +Don't approve of him but gotta trust him +This alliance has a purpose +This partnership is only temporary + +I will be the one to set your heart free, true +Cleanse yourself of evil spirits that got in you + +Won't be frightened, I'll stand up to all the pain and turmoil +Just believe in myself, won't rely on others +Freedom will be waiting when serenity is restored +This is my planet, I shall not surrender + +Won't be frightened, I'll stand up to all the pain and turmoil +Just believe in myself, won't rely on others +Get this power to wipe out the havoc and anarchy +This is my planet, gonna fight + +Won't be frightened, I'll stand up to all the pain and turmoil +Just believe in myself, won't rely on others +Freedom will be waiting when serenity is restored +This is my planet, I shall not surrender + +The new porcupine on the block with the buff chest +In the wilderness with the ruggedness +Knock, knock, it's Knuckles, the bloat thrower +Independent flower, Magical Emerald holder +I'll give you the coldest shoulder +My spikes go through boulders, that's why I stay a loner +I was born by myself, I don't need a posse +I get it on by myself, adversaries get shelved + +Right on! +ght on \ No newline at end of file diff --git a/store4/AllStar.txt b/store4/AllStar.txt new file mode 100644 index 0000000..0cf2ab6 --- /dev/null +++ b/store4/AllStar.txt @@ -0,0 +1,69 @@ +Somebody once told me the world is gonna roll me +I ain't the sharpest tool in the shed +She was looking kind of dumb with her finger and her thumb +In the shape of an "L" on her forehead + +Well, the years start coming and they don't stop coming +Fed to the rules and I hit the ground running +Didn't make sense not to live for fun +Your brain gets smart but your head gets dumb + +So much to do, so much to see +So what's wrong with taking the back streets? +You'll never know if you don't go +You'll never shine if you don't glow + +Hey, now, you're an all-star, get your game on, go play +Hey, now, you're a rock star, get the show on, get paid +And all that glitters is gold +Only shooting stars break the mold + +It's a cool place and they say it gets colder +You're bundled up now wait 'til you get older +But the meteor men beg to differ +Judging by the hole in the satellite picture + +The ice we skate is getting pretty thin +The water's getting warm so you might as well swim +My world's on fire. How about yours? +That's the way I like it and I'll never get bored + +Hey, now, you're an all-star, get your game on, go play +Hey, now, you're a rock star, get the show on, get paid +And all that glitters is gold +Only shooting stars break the mold + +Go for the moon +Go for the moon +Go for the moon +Go for the moon + +Hey, now, you're an all-star, get your game on, go play +Hey, now, you're a rock star, get the show on, get paid +And all that glitters is gold +Only shooting stars + +Somebody once asked could I spare some change for gas +I need to get myself away from this place +I said yep, what a concept +I could use a little fuel myself +And we could all use a little change + +Well, the years start coming and they don't stop coming +Fed to the rules and I hit the ground running +Didn't make sense not to live for fun +Your brain gets smart but your head gets dumb + +So much to do, so much to see +So what's wrong with taking the back streets? +You'll never know if you don't go +You'll never shine if you don't glow + +Hey, now, you're an all star, get your game on, go play +Hey, now, you're a rock star, get the show on, get paid +And all that glitters is gold +Only shooting stars break the mold + +And all that glitters is gold +Only shooting stars break the mold +he mo \ No newline at end of file diff --git a/store4/Grandad.txt b/store4/Grandad.txt new file mode 100644 index 0000000..75e3e88 --- /dev/null +++ b/store4/Grandad.txt @@ -0,0 +1,15 @@ +(Yabba Dabba Doo!) + +Flintstones. Meet the Flintstones. +They're the modern stone age family. +From the town of Bedrock, +They're a page right out of history. + +Let's ride with the family down the street. +Through the courtesy of Fred's two feet. + +When you're with the Flintstones +Have a yabba dabba doo time. +A dabba doo time. +We'll have a gay old time. +d t \ No newline at end of file diff --git a/store4/PumpkinHill.txt b/store4/PumpkinHill.txt new file mode 100644 index 0000000..0489b4b --- /dev/null +++ b/store4/PumpkinHill.txt @@ -0,0 +1,69 @@ +You know me, the fighting freak Knuckles, +And we're at Pumpkin Hill, +You ready? + +I ain't gonna let it get to me, I'm just gonna creep, +Down in Pumpkin Hill I gots to find my lost piece. +I know that it's here, I can sense it in my feet, +The great Emerald's power allows me to feel. +I can't see a thing but it's around somewhere, +I'm gonna hold my head 'cause I have no fear. +This probably seems crazy, crazy, a graveyard theory, +A ghost tried to approach me and got leery. + +Asked him a question and he vanished in a second, +I'm walkin' through valleys cryin' pumpkin in the alley. +Didn't seem happy but they sure tried to get me, +Had to back 'em up with the fist, metal crack 'em. +I'm hearing someone sayin' "You a chicken, don't be scared!" +It had to be the wind, 'cause nobody wasn't there. +I searched and I searched as I climbed up the wall, +And then I started to fly, I went in deeper! + +Let it get to me? I'm just gonna creep, +Down in Pumpkin Hill I gots to find my lost piece. +I know that it's here, I sense it in my feet, +The great Emerald's power allows me to feel. +I can't see a thing but it's around somewhere, +I gotta hold my head, I have no fear. +It probably seems crazy, crazy, a graveyard theory, +A ghost tried to approach me, he got leery. + +(This is Knuckles, who fears none.) +(It's real deal when it comes to my name, kid!) + +I ain't gonna let it get to me, I'm just gonna creep, +Down in Pumpkin Hill I gots to find my lost piece. +I know that it's here, I can sense it in my feet, +The great Emerald's power allows me to feel. +I can't see a thing but it's around somewhere, +I'm gonna hold my head 'cause I have no fear. +This probably seems crazy, crazy, a graveyard theory, +A ghost tried to approach me and got leery. + +Asked him a question and he vanished in a second, +I'm walkin' through valleys cryin' pumpkin in the alley. +Didn't seem happy but they sure tried to get me, +Had to back 'em up with the fist, metal crack 'em. +I'm hearing someone sayin' "You a chicken, don't be scared!" +It had to be the wind, 'cause nobody wasn't there. +I searched and I searched as I climbed up the wall, +And then I started to fly, I went in deeper! + +Let it get to me? I'm just gonna creep, +Down in Pumpkin Hill I gots to find my lost piece. +I know that it's here, I sense it in my feet, +The great Emerald's power allows me to feel. +I can't see a thing but it's around somewhere, +I gotta hold my head, I have no fear. +It probably seems crazy, crazy, a graveyard theory, +A ghost tried to approach me, he got leery. + +(Spooky up in here, it's crazy in here,) +(We still gon' keep it goin', I'm Knuckles.) +(Nobody scares me,) +(Whoever want it, bring it!) +(I don't care, we 'ka do this.) +(Then come step up to the plate, and meet your match,) +(It ain't no thang.) +thang \ No newline at end of file diff --git a/store4/SnowHalation.txt b/store4/SnowHalation.txt new file mode 100644 index 0000000..5d7aafb --- /dev/null +++ b/store4/SnowHalation.txt @@ -0,0 +1,37 @@ +Fushigi da ne ima no kimochi +Sora kara futte kita mitai +Tokubetsu na kisetsu no iro ga tokimeki o miseru yo + +Hajimete deatta toki kara +Yokan ni sawagu kokoro no Melody +Tomerarenai tomaranai na・ze + +Todokete +Setsunasa ni wa namae o tsukeyou ka "Snow halation" +Omoi ga kasanaru made matezu ni +Kuyashii kedo suki tte junjou +Binetsu no naka tameratte mo dame da ne +Tobikomu yuuki ni sansei mamonaku Start!! + +Oto mo naku kehai mo naku +Shizuka ni unmei wa kawaru +Korekara no mirai ni mune no kodou ga hayaku naru + +Tatoeba komatta toki ni wa +Sugu kaketsukete dakishimetakute +Doko ni ite mo dokodemo Fly high + +Isoide +Itsu no ma ni ka ookiku nari sugita "True emotion" +Yume dake miteru you ja tsurai yo +Koibito wa kimi tte iitai +Yasashii me ga tomadotteru iya da yo +Kono mama ikki ni aijou azukete Please!! + +Todokete +Setsunasa ni wa namae o tsukeyou ka "Snow halation" +Omoi ga kasanaru made matezu ni +Kuyashii kedo suki tte junjou +Binetsu no naka tameratte mo dame da ne +Tobikomu yuuki ni sansei mamonaku Start!! +ta \ No newline at end of file diff --git a/store4/Unknown.txt b/store4/Unknown.txt new file mode 100644 index 0000000..349b7a9 --- /dev/null +++ b/store4/Unknown.txt @@ -0,0 +1,75 @@ +Here I come, rougher than the rest of them +The best of them, tougher than leather +You can call me Knuckles, unlike Sonic I don't chuckle +I'd rather flex my muscles + +I'm hard as nails, it ain't hard to tell +I break 'em down whether they're solid or frail +Unlike the rest I'm independent since my first breath +First test, feel the right, than the worst's left + +Born on an island in the heavens +The blood of my ancestors flows inside me +My duty is to save the flower +From evil deterioration + +I will be the one to set your heart free, true +Cleanse yourself of them evil spirits that's in you + +Streaking lights, loud sounds, and instincts +Are the elements that keep me going +I am fighting my own mission +Nothing's gonna stand in my way + +I will be the one to set your heart free, true +Cleanse yourself of them evil spirits that's in you + +Won't be frightened, I'll stand up to all the pain and turmoil +Just believe in myself, won't rely on others +Get this power to wipe out the havoc and anarchy +This is my planet, gonna fight for my destiny + +Here I come, rougher than the rest of them +The best of them, tougher than leather +You can call me Knuckles, unlike Sonic I don't chuckle +I'd rather flex my muscles + +I'm hard as nails, it ain't hard to tell +I break 'em down whether they're solid or frail +Unlike the rest I'm independent since my first breath +First test, feel the right, than the worst's left + +I have no such things as weak spots +Don't approve of him but gotta trust him +This alliance has a purpose +This partnership is only temporary + +I will be the one to set your heart free, true +Cleanse yourself of evil spirits that got in you + +Won't be frightened, I'll stand up to all the pain and turmoil +Just believe in myself, won't rely on others +Freedom will be waiting when serenity is restored +This is my planet, I shall not surrender + +Won't be frightened, I'll stand up to all the pain and turmoil +Just believe in myself, won't rely on others +Get this power to wipe out the havoc and anarchy +This is my planet, gonna fight + +Won't be frightened, I'll stand up to all the pain and turmoil +Just believe in myself, won't rely on others +Freedom will be waiting when serenity is restored +This is my planet, I shall not surrender + +The new porcupine on the block with the buff chest +In the wilderness with the ruggedness +Knock, knock, it's Knuckles, the bloat thrower +Independent flower, Magical Emerald holder +I'll give you the coldest shoulder +My spikes go through boulders, that's why I stay a loner +I was born by myself, I don't need a posse +I get it on by myself, adversaries get shelved + +Right on! +ght on \ No newline at end of file -- GitLab