- 02 10:21:00 ich wüsste nicht, wie man es anders machen kann 02 10:21:11 ach ja 02 10:21:23 man muss auch nen "custom"-read prependen/appenden können 02 10:21:33 außerdem wäre ein resource-limit nicht dumm 02 10:21:34 also 02 10:21:38 "maximal 16mb zeilen lesen" 02 10:21:41 oder allgemein 02 10:21:47 "rbuf darf nie > 16mb werden" 02 10:22:01 ja, das waehre praktisch 02 10:22:06 praktisch nicht 02 10:22:08 aber wichtig :) 02 10:22:11 jo 02 10:22:19 für die sicherheit 02 10:22:23 prkatisch ists eher im wege 02 10:22:25 wenn rbuf > 16mb dann liest er nicht mehr? oder was soll dann passieren? 02 10:23:00 nicht mehr lesen waehre schwierig, da muesste man den watcher entfernen und wieder reinstallieren wenn der buffer leerer is 02 10:23:20 wozu? 02 10:23:33 leerer(?) 02 10:23:39 wie kann er dnen leerer werden? 02 10:23:42 eben :) 02 10:23:53 wenn die daten verarbeitet wurden und jemand den buffer leere gemacht hat 02 10:23:57 ah, das ist ein verständnisproblem 02 10:24:01 es geht um harte fehler 02 10:24:04 sicherheit! 02 10:24:06 denial-of-service 02 10:24:14 nicht um speicherersparnis 02 10:24:21 wenn du sagst, der rbug darf nie >16mb werden 02 10:24:29 dann ist es ein harter fehler/verbindungssbbaruch 02 10:24:31 wenbne r größer wird 02 10:24:33 dananch ist ende 02 10:24:38 hmmm, also waehre das beste ein extra callback fuer den fall? und das default evrhalten is ein error und d ann ->close ? 02 10:24:46 ich würde sagen on_error 02 10:24:48 wie alles andere 02 10:24:50 hm, ok 02 10:24:57 ein fehler ist fatal 02 10:24:58 sie koennen das limit ja einstellen 02 10:25:03 kannst $! auf ENOSPC setzen 02 10:25:06 ok 02 10:25:11 ja, es kann ja per default aus sein von mir aus - und ganz wichtig: generell die api fixen - 02 10:27:36 reply 1 02 10:27:38 reply 1, zweiter teil 02 10:27:39 reply 2 02 10:27:42 ahja 02 10:27:46 genau 02 10:27:48 dazu musst du den read vor den reply 2 quetschen 02 10:27:54 also prependen 02 10:27:56 ja 02 10:28:02 ja, ich dachte halt an den fall: 02 10:28:03 eventuell kann man shift/push nehmen als namen 02 10:28:19 ausserdem muss es noch einen generic-callback geben 02 10:28:28 die frage ist, wie man "progress" feststellt 02 10:28:31 reply 1, reply 2, und bei reply 1 wird ein zweiter request gemacht wo reply 3 kommt, und der read-cb fuer reply 3 muss halt hinter reply 2 02 10:28:37 man könnte z.b. die länge des rbufs vor und anch dme callback checken 02 10:28:38 in dem fall will man appenden 02 10:28:42 wenn sie sich ändert, mach weiter 02 10:28:54 elmex: genau 02 10:29:07 elmex: deshalb gehen auch keien schemata wie "im callback prependen, ausserhalb appenden" 02 10:29:18 jo 02 10:29:23 das is halt protokollabhaengig 02 10:29:34 igentlich nicht so 02 10:29:42 es hängt davon ab, was dein programm macht 02 10:29:45 vom protkoll weniger 02 10:29:46 was meinst du mit einem generic callback? 02 10:29:48 ja, stimmt 02 10:29:49 denn das ist hier immer tcp 02 10:29:57 sprich, reioehenfolge bleibt reihenfolge 02 10:30:21 vielleicht wäre es auch nett, einen default-read-callback zu haben 02 10:30:28 aber ich denke, das kann on_read erledigen 02 10:30:33 d.gh. die queue hat vorrang vor on_read 02 10:30:40 aber wenn die queu leer ist, wird on_read aufgerufen 02 10:30:44 jo 02 10:30:45 undd as kannd ann z.b. nichts tun 02 10:30:48 außer ein realine pushen 02 10:30:54 bzw. prependen :/ 02 10:31:04 hmm 02 10:31:08 alsowas, prepend/append doer shift/push 02 10:31:21 unshift/push natürlich 02 10:31:31 was soll der default callback machen? 02 10:31:40 ich meine, bisher tut on_read einfach in rbuf lesen 02 10:31:41 welcher default-callback? 02 10:31:49 default-read-callback 02 10:31:56 es kann keinen geben? 02 10:31:57 ich kann dir im mom nich ganz forlgen :) 02 10:31:59 was kann der auch tun? 02 10:32:04 du hats ne socket 02 10:32:06 auf der kommen daten 02 10:32:10 aber niemand verarbeiotet sie 02 10:32:14 trottzdem pufferst du sie 02 10:32:16 das macht keinen sinn 02 10:32:22 + Muttley joined #schmorp (JOIN, #schmorp) 02 10:32:23 hmm, das tu ich auch net 02 10:32:24 es _muss_ immer einen callback geben für lesedaten 02 10:32:25 ODER 02 10:32:29 Morning 02 10:32:30 er darf nicht lesen 02 10:32:34 Muttley: hi pauk 02 10:32:40 Muttley: didn't we want a firmware today? 02 10:32:44 (sometime) 02 10:32:54 If you would be so kind, that would be great :) 02 10:32:56 schmorp: bisher machts ::Handle halt so, das er nicht liest wenn niemand einen callback fuers lesen instal liert hat. ich dachte das sollte ruhig weiter so sein 02 10:33:00 Muttley: right now? 02 10:33:13 elmex: ja, das ist gut 02 10:33:19 elmex: aber dann gibts auch keinen default-fall 02 11:43:38 $socket->push_read_line ([$sep, ]$cb) 02 11:43:49 oder read-handler müsste dann "nur" folgendes machen: 02 11:43:51 sysread 02 11:43:58 if (!queue) on_read 02 11:44:00 else 02 11:44:07 while() 02 11:44:14 queu[0]->callback 02 11:44:22 if (!progress) 02 11:44:30 if (eof-föag) on_eof; 02 11:44:32 last 02 11:44:45 shift queue 02 11:44:52 scheiss python-whitespace-indenting