]>
Commit | Line | Data |
---|---|---|
f67539c2 TL |
1 | -- |
2 | -- Licensed to the Apache Software Foundation (ASF) under one | |
3 | -- or more contributor license agreements. See the NOTICE file | |
4 | -- distributed with this work for additional information | |
5 | -- regarding copyright ownership. The ASF licenses this file | |
6 | -- to you under the Apache License, Version 2.0 (the | |
7 | -- "License"); you may not use this file except in compliance | |
8 | -- with the License. You may obtain a copy of the License at | |
9 | -- | |
10 | -- http://www.apache.org/licenses/LICENSE-2.0 | |
11 | -- | |
12 | -- Unless required by applicable law or agreed to in writing, | |
13 | -- software distributed under the License is distributed on an | |
14 | -- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |
15 | -- KIND, either express or implied. See the License for the | |
16 | -- specific language governing permissions and limitations | |
17 | -- under the License. | |
18 | -- | |
19 | ||
20 | require 'Thrift' | |
21 | ||
22 | TTransportException = TException:new { | |
23 | UNKNOWN = 0, | |
24 | NOT_OPEN = 1, | |
25 | ALREADY_OPEN = 2, | |
26 | TIMED_OUT = 3, | |
27 | END_OF_FILE = 4, | |
28 | INVALID_FRAME_SIZE = 5, | |
29 | INVALID_TRANSFORM = 6, | |
30 | INVALID_CLIENT_TYPE = 7, | |
31 | errorCode = 0, | |
32 | __type = 'TTransportException' | |
33 | } | |
34 | ||
35 | function TTransportException:__errorCodeToString() | |
36 | if self.errorCode == self.NOT_OPEN then | |
37 | return 'Transport not open' | |
38 | elseif self.errorCode == self.ALREADY_OPEN then | |
39 | return 'Transport already open' | |
40 | elseif self.errorCode == self.TIMED_OUT then | |
41 | return 'Transport timed out' | |
42 | elseif self.errorCode == self.END_OF_FILE then | |
43 | return 'End of file' | |
44 | elseif self.errorCode == self.INVALID_FRAME_SIZE then | |
45 | return 'Invalid frame size' | |
46 | elseif self.errorCode == self.INVALID_TRANSFORM then | |
47 | return 'Invalid transform' | |
48 | elseif self.errorCode == self.INVALID_CLIENT_TYPE then | |
49 | return 'Invalid client type' | |
50 | else | |
51 | return 'Default (unknown)' | |
52 | end | |
53 | end | |
54 | ||
55 | TTransportBase = __TObject:new{ | |
56 | __type = 'TTransportBase' | |
57 | } | |
58 | ||
59 | function TTransportBase:isOpen() end | |
60 | function TTransportBase:open() end | |
61 | function TTransportBase:close() end | |
62 | function TTransportBase:read(len) end | |
63 | function TTransportBase:readAll(len) | |
64 | local buf, have, chunk = '', 0 | |
65 | while have < len do | |
66 | chunk = self:read(len - have) | |
67 | have = have + string.len(chunk) | |
68 | buf = buf .. chunk | |
69 | ||
70 | if string.len(chunk) == 0 then | |
71 | terror(TTransportException:new{ | |
72 | errorCode = TTransportException.END_OF_FILE | |
73 | }) | |
74 | end | |
75 | end | |
76 | return buf | |
77 | end | |
78 | function TTransportBase:write(buf) end | |
79 | function TTransportBase:flush() end | |
80 | ||
81 | TServerTransportBase = __TObject:new{ | |
82 | __type = 'TServerTransportBase' | |
83 | } | |
84 | function TServerTransportBase:listen() end | |
85 | function TServerTransportBase:accept() end | |
86 | function TServerTransportBase:close() end | |
87 | ||
88 | TTransportFactoryBase = __TObject:new{ | |
89 | __type = 'TTransportFactoryBase' | |
90 | } | |
91 | function TTransportFactoryBase:getTransport(trans) | |
92 | return trans | |
93 | end |