Changeset 4918 for lang/actionscript/memcached-client
- Timestamp:
- 01/19/08 05:07:35 (5 years ago)
- Location:
- lang/actionscript/memcached-client/trunk
- Files:
-
- 2 modified
-
MemcachedClient.as (modified) (9 diffs)
-
memcached.html (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/actionscript/memcached-client/trunk/MemcachedClient.as
r4650 r4918 1 // Memcached client on ActionScript 31 // Memcached client on ActionScript3 2 2 // Tasuku SUENAGA a.k.a. gunyarakun(not gunyaraway) 3 3 // BSD License or meshi-ogoru license 4 5 // はらへった。 4 6 5 7 package { … … 20 22 public function MemcachedClient() { 21 23 make_label(); 22 set_label('initialize instance');23 24 if (ExternalInterface.available) { 24 25 try { … … 59 60 // set 60 61 public function set(key:String, value:String, exptime:uint = 0, flags:uint = 0):void { 61 this.send_storage_cmd('set', key, flags, exptime, value);62 send_storage_cmd('set', key, flags, exptime, value); 62 63 } 63 64 // get … … 70 71 // FIXME: cas_unique:Number 71 72 private function send_storage_cmd(command_name:String, key:String, flags:uint, 72 exptime:uint, bytes:String) {73 var command = new Array(command_name, key, flags, exptime, bytes.length).join(' ');73 exptime:uint, bytes:String):void { 74 var command:String = new Array(command_name, key, flags, exptime, bytes.length).join(' '); 74 75 recv_mode = 'storage'; 75 76 send_line(command); … … 77 78 } 78 79 79 private function send_retrieval_cmd(command_name:String, key:String) {80 var command = new Array(command_name, key).join(' ');80 private function send_retrieval_cmd(command_name:String, key:String):void { 81 var command:String = new Array(command_name, key).join(' '); 81 82 recv_mode = 'retrieval'; 82 83 send_line(command); 83 84 } 84 85 85 private function send_line(data:String) {86 private function send_line(data:String):void { 86 87 if (!socket || !socket.connected) return; 87 88 socket.writeUTFBytes(data); … … 90 91 } 91 92 92 private function on_line(line ){93 private function on_line(line:String):Boolean { 93 94 switch(recv_mode) { 94 95 case 'storage': … … 110 111 // TODO: 111 112 } 113 return true; 112 114 } 113 115 … … 124 126 private function on_data(evt:Event):void { 125 127 recv_buf += socket.readUTFBytes(socket.bytesAvailable); 126 var e ;128 var e:int; 127 129 while ((e = recv_buf.indexOf('\n')) != -1) { 128 var line = recv_buf.substring(0, e);130 var line:String = recv_buf.substring(0, e); 129 131 if (on_line(line)) { 130 132 recv_buf = recv_buf.substring(e + 1); … … 148 150 label.autoSize = TextFieldAutoSize.LEFT; 149 151 label.selectable = true; 150 label.text = '';151 152 label.x = 0; 152 153 label.y = 0; 154 var fm:TextFormat = new TextFormat(); 155 fm.size = 12; 156 fm.color = 0x000000; 157 label.border = true; 158 label.width=300; 159 label.setTextFormat(fm); 153 160 addChild(label); 154 161 } -
lang/actionscript/memcached-client/trunk/memcached.html
r4650 r4918 8 8 } 9 9 </style> 10 <script type="text/javascript" src="./json.js"></script>11 10 <script language="JavaScript"> 12 11 // TODO: refactoring … … 22 21 } 23 22 } 24 function connect(host, port) {23 function connect(host, port) { 25 24 var m = thisMovie('MemcachedClient'); 26 25 m.connect(host, port, 'OnConnect', 'OnClose', 'OnGet', 'OnError'); 27 26 } 28 27 function set(key, value) { 29 var socket = thisMovie("MemcachedClient");28 var m = thisMovie('MemcachedClient'); 30 29 m.set(key, value); 31 30 } 32 31 function get(key) { 33 var socket = thisMovie("MemcachedClient");32 var m = thisMovie('MemcachedClient'); 34 33 m.get(key); 35 34 } … … 48 47 } 49 48 function OnError(msg) { 50 print('socket error! ' + msg);49 print('socket error! ' + msg); 51 50 } 52 51 </script> … … 56 55 <input type="button" value="接続" onClick="connect('localhost', 11211);"> 57 56 </p> 58 <textarea style="width:80%;height:16em;background-color:#ddd;" id="output" name="output"> 57 <p> 58 <input type="text" id="set_key" size="16"> 59 <input type="text" id="set_value" size="32"> 60 <input type="button" value="set" onClick="set(document.getElementById('set_key').value, document.getElementById('set_value').value);"> 61 </p> 62 <textarea style="width:80%;height:8em;background-color:#ddd;" id="output" name="output"> 59 63 </textarea> 60 64 <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" … … 68 72 <param name="allowNetworking" value="all" /> 69 73 <embed src="./MemcachedClient.swf" quality="high" bgcolor="#ffffff" 70 width=" 1" height="1" name="MemcachedClient" align="middle"74 width="200" height="100" name="MemcachedClient" align="middle" 71 75 play="true" loop="false" quality="high" allowScriptAccess="always" 72 76 allowNetworking="all" type="application/x-shockwave-flash"
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)