-- -- Autogenerated by Thrift -- -- DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING -- @generated -- local Thrift = require 'Thrift' local TType = Thrift.TType local TMessageType = Thrift.TMessageType local __TObject = Thrift.__TObject local TApplicationException = Thrift.TApplicationException local __TClient = Thrift.__TClient local __TProcessor = Thrift.__TProcessor local ttype = Thrift.ttype local ttable_size = Thrift.ttable_size local media_service_ttypes = require 'media_service_ttypes' local ServiceException = media_service_ttypes.ServiceException local Review = media_service_ttypes.Review MovieReviewServiceClient = __TObject.new(__TClient, { __type = 'MovieReviewServiceClient' }) function MovieReviewServiceClient:UploadMovieReview(req_id, movie_id, review_id, timestamp, carrier) self:send_UploadMovieReview(req_id, movie_id, review_id, timestamp, carrier) return self:recv_UploadMovieReview(req_id, movie_id, review_id, timestamp, carrier) end function MovieReviewServiceClient:send_UploadMovieReview(req_id, movie_id, review_id, timestamp, carrier) self.oprot:writeMessageBegin('UploadMovieReview', TMessageType.CALL, self._seqid) local args = UploadMovieReview_args:new{} args.req_id = req_id args.movie_id = movie_id args.review_id = review_id args.timestamp = timestamp args.carrier = carrier args:write(self.oprot) self.oprot:writeMessageEnd() self.oprot.trans:flush() end function MovieReviewServiceClient:recv_UploadMovieReview(req_id, movie_id, review_id, timestamp, carrier) local fname, mtype, rseqid = self.iprot:readMessageBegin() if mtype == TMessageType.EXCEPTION then local x = TApplicationException:new{} x:read(self.iprot) self.iprot:readMessageEnd() error(x) end local result = UploadMovieReview_result:new{} result:read(self.iprot) self.iprot:readMessageEnd() if result.success ~= nil then return result.success elseif result.se then error(result.se) end error(TApplicationException:new{errorCode = TApplicationException.MISSING_RESULT}) end function MovieReviewServiceClient:ReadMovieReviews(req_id, movie_id, start, stop, carrier) self:send_ReadMovieReviews(req_id, movie_id, start, stop, carrier) return self:recv_ReadMovieReviews(req_id, movie_id, start, stop, carrier) end function MovieReviewServiceClient:send_ReadMovieReviews(req_id, movie_id, start, stop, carrier) self.oprot:writeMessageBegin('ReadMovieReviews', TMessageType.CALL, self._seqid) local args = ReadMovieReviews_args:new{} args.req_id = req_id args.movie_id = movie_id args.start = start args.stop = stop args.carrier = carrier args:write(self.oprot) self.oprot:writeMessageEnd() self.oprot.trans:flush() end function MovieReviewServiceClient:recv_ReadMovieReviews(req_id, movie_id, start, stop, carrier) local fname, mtype, rseqid = self.iprot:readMessageBegin() if mtype == TMessageType.EXCEPTION then local x = TApplicationException:new{} x:read(self.iprot) self.iprot:readMessageEnd() error(x) end local result = ReadMovieReviews_result:new{} result:read(self.iprot) self.iprot:readMessageEnd() if result.success ~= nil then return result.success elseif result.se then error(result.se) end error(TApplicationException:new{errorCode = TApplicationException.MISSING_RESULT}) end MovieReviewServiceIface = __TObject:new{ __type = 'MovieReviewServiceIface' } MovieReviewServiceProcessor = __TObject.new(__TProcessor , { __type = 'MovieReviewServiceProcessor' }) function MovieReviewServiceProcessor:process(iprot, oprot, server_ctx) local name, mtype, seqid = iprot:readMessageBegin() local func_name = 'process_' .. name if not self[func_name] or ttype(self[func_name]) ~= 'function' then iprot:skip(TType.STRUCT) iprot:readMessageEnd() x = TApplicationException:new{ errorCode = TApplicationException.UNKNOWN_METHOD } oprot:writeMessageBegin(name, TMessageType.EXCEPTION, seqid) x:write(oprot) oprot:writeMessageEnd() oprot.trans:flush() else self[func_name](self, seqid, iprot, oprot, server_ctx) end end function MovieReviewServiceProcessor:process_UploadMovieReview(seqid, iprot, oprot, server_ctx) local args = UploadMovieReview_args:new{} local reply_type = TMessageType.REPLY args:read(iprot) iprot:readMessageEnd() local result = UploadMovieReview_result:new{} local status, res = pcall(self.handler.UploadMovieReview, self.handler, args.req_id, args.movie_id, args.review_id, args.timestamp, args.carrier) if not status then reply_type = TMessageType.EXCEPTION result = TApplicationException:new{message = res} elseif ttype(res) == 'ServiceException' then result.se = res else result.success = res end oprot:writeMessageBegin('UploadMovieReview', reply_type, seqid) result:write(oprot) oprot:writeMessageEnd() oprot.trans:flush() end function MovieReviewServiceProcessor:process_ReadMovieReviews(seqid, iprot, oprot, server_ctx) local args = ReadMovieReviews_args:new{} local reply_type = TMessageType.REPLY args:read(iprot) iprot:readMessageEnd() local result = ReadMovieReviews_result:new{} local status, res = pcall(self.handler.ReadMovieReviews, self.handler, args.req_id, args.movie_id, args.start, args.stop, args.carrier) if not status then reply_type = TMessageType.EXCEPTION result = TApplicationException:new{message = res} elseif ttype(res) == 'ServiceException' then result.se = res else result.success = res end oprot:writeMessageBegin('ReadMovieReviews', reply_type, seqid) result:write(oprot) oprot:writeMessageEnd() oprot.trans:flush() end -- HELPER FUNCTIONS AND STRUCTURES UploadMovieReview_args = __TObject:new{ req_id, movie_id, review_id, timestamp, carrier } function UploadMovieReview_args:read(iprot) iprot:readStructBegin() while true do local fname, ftype, fid = iprot:readFieldBegin() if ftype == TType.STOP then break elseif fid == 1 then if ftype == TType.I64 then self.req_id = iprot:readI64() else iprot:skip(ftype) end elseif fid == 2 then if ftype == TType.STRING then self.movie_id = iprot:readString() else iprot:skip(ftype) end elseif fid == 3 then if ftype == TType.I64 then self.review_id = iprot:readI64() else iprot:skip(ftype) end elseif fid == 4 then if ftype == TType.I64 then self.timestamp = iprot:readI64() else iprot:skip(ftype) end elseif fid == 5 then if ftype == TType.MAP then self.carrier = {} local _ktype191, _vtype192, _size190 = iprot:readMapBegin() for _i=1,_size190 do local _key194 = iprot:readString() local _val195 = iprot:readString() self.carrier[_key194] = _val195 end iprot:readMapEnd() else iprot:skip(ftype) end else iprot:skip(ftype) end iprot:readFieldEnd() end iprot:readStructEnd() end function UploadMovieReview_args:write(oprot) oprot:writeStructBegin('UploadMovieReview_args') if self.req_id ~= nil then oprot:writeFieldBegin('req_id', TType.I64, 1) oprot:writeI64(self.req_id) oprot:writeFieldEnd() end if self.movie_id ~= nil then oprot:writeFieldBegin('movie_id', TType.STRING, 2) oprot:writeString(self.movie_id) oprot:writeFieldEnd() end if self.review_id ~= nil then oprot:writeFieldBegin('review_id', TType.I64, 3) oprot:writeI64(self.review_id) oprot:writeFieldEnd() end if self.timestamp ~= nil then oprot:writeFieldBegin('timestamp', TType.I64, 4) oprot:writeI64(self.timestamp) oprot:writeFieldEnd() end if self.carrier ~= nil then oprot:writeFieldBegin('carrier', TType.MAP, 5) oprot:writeMapBegin(TType.STRING, TType.STRING, ttable_size(self.carrier)) for kiter196,viter197 in pairs(self.carrier) do oprot:writeString(kiter196) oprot:writeString(viter197) end oprot:writeMapEnd() oprot:writeFieldEnd() end oprot:writeFieldStop() oprot:writeStructEnd() end UploadMovieReview_result = __TObject:new{ success, se } function UploadMovieReview_result:read(iprot) iprot:readStructBegin() while true do local fname, ftype, fid = iprot:readFieldBegin() if ftype == TType.STOP then break elseif fid == 0 then if ftype == TType.STRUCT then self.success = BaseRpcResponse:new{} self.success:read(iprot) else iprot:skip(ftype) end elseif fid == 1 then if ftype == TType.STRUCT then self.se = ServiceException:new{} self.se:read(iprot) else iprot:skip(ftype) end else iprot:skip(ftype) end iprot:readFieldEnd() end iprot:readStructEnd() end function UploadMovieReview_result:write(oprot) oprot:writeStructBegin('UploadMovieReview_result') if self.success ~= nil then oprot:writeFieldBegin('success', TType.STRUCT, 0) self.success:write(oprot) oprot:writeFieldEnd() end if self.se ~= nil then oprot:writeFieldBegin('se', TType.STRUCT, 1) self.se:write(oprot) oprot:writeFieldEnd() end oprot:writeFieldStop() oprot:writeStructEnd() end ReadMovieReviews_args = __TObject:new{ req_id, movie_id, start, stop, carrier } function ReadMovieReviews_args:read(iprot) iprot:readStructBegin() while true do local fname, ftype, fid = iprot:readFieldBegin() if ftype == TType.STOP then break elseif fid == 1 then if ftype == TType.I64 then self.req_id = iprot:readI64() else iprot:skip(ftype) end elseif fid == 2 then if ftype == TType.STRING then self.movie_id = iprot:readString() else iprot:skip(ftype) end elseif fid == 3 then if ftype == TType.I32 then self.start = iprot:readI32() else iprot:skip(ftype) end elseif fid == 4 then if ftype == TType.I32 then self.stop = iprot:readI32() else iprot:skip(ftype) end elseif fid == 5 then if ftype == TType.MAP then self.carrier = {} local _ktype199, _vtype200, _size198 = iprot:readMapBegin() for _i=1,_size198 do local _key202 = iprot:readString() local _val203 = iprot:readString() self.carrier[_key202] = _val203 end iprot:readMapEnd() else iprot:skip(ftype) end else iprot:skip(ftype) end iprot:readFieldEnd() end iprot:readStructEnd() end function ReadMovieReviews_args:write(oprot) oprot:writeStructBegin('ReadMovieReviews_args') if self.req_id ~= nil then oprot:writeFieldBegin('req_id', TType.I64, 1) oprot:writeI64(self.req_id) oprot:writeFieldEnd() end if self.movie_id ~= nil then oprot:writeFieldBegin('movie_id', TType.STRING, 2) oprot:writeString(self.movie_id) oprot:writeFieldEnd() end if self.start ~= nil then oprot:writeFieldBegin('start', TType.I32, 3) oprot:writeI32(self.start) oprot:writeFieldEnd() end if self.stop ~= nil then oprot:writeFieldBegin('stop', TType.I32, 4) oprot:writeI32(self.stop) oprot:writeFieldEnd() end if self.carrier ~= nil then oprot:writeFieldBegin('carrier', TType.MAP, 5) oprot:writeMapBegin(TType.STRING, TType.STRING, ttable_size(self.carrier)) for kiter204,viter205 in pairs(self.carrier) do oprot:writeString(kiter204) oprot:writeString(viter205) end oprot:writeMapEnd() oprot:writeFieldEnd() end oprot:writeFieldStop() oprot:writeStructEnd() end ReadMovieReviews_result = __TObject:new{ success, se } function ReadMovieReviews_result:read(iprot) iprot:readStructBegin() while true do local fname, ftype, fid = iprot:readFieldBegin() if ftype == TType.STOP then break elseif fid == 0 then if ftype == TType.STRUCT then self.success = ReviewListRpcResponse:new{} self.success:read(iprot) else iprot:skip(ftype) end elseif fid == 1 then if ftype == TType.STRUCT then self.se = ServiceException:new{} self.se:read(iprot) else iprot:skip(ftype) end else iprot:skip(ftype) end iprot:readFieldEnd() end iprot:readStructEnd() end function ReadMovieReviews_result:write(oprot) oprot:writeStructBegin('ReadMovieReviews_result') if self.success ~= nil then oprot:writeFieldBegin('success', TType.STRUCT, 0) self.success:write(oprot) oprot:writeFieldEnd() end if self.se ~= nil then oprot:writeFieldBegin('se', TType.STRUCT, 1) self.se:write(oprot) oprot:writeFieldEnd() end oprot:writeFieldStop() oprot:writeStructEnd() end return MovieReviewServiceClient