Thrift 0.5.0.2 → 0.6.0
raw patch · 11 files changed
+1241/−56 lines, 11 filesdep ~basePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base
API changes (from Hackage documentation)
- Thrift.Protocol: readByte :: (Protocol a, Transport t) => a t -> IO Word8
+ Thrift.Protocol: readByte :: (Protocol a, Transport t) => a t -> IO Int8
- Thrift.Protocol: writeByte :: (Protocol a, Transport t) => a t -> Word8 -> IO ()
+ Thrift.Protocol: writeByte :: (Protocol a, Transport t) => a t -> Int8 -> IO ()
Files
- LICENSE +200/−14
- Makefile +475/−0
- Makefile.am +43/−0
- Makefile.in +475/−0
- README +1/−1
- Thrift.cabal +20/−12
- src/Thrift/Protocol.hs +2/−3
- src/Thrift/Protocol/Binary.hs +22/−23
- src/Thrift/Transport.hs +1/−1
- src/Thrift/Transport/Handle.hs +1/−1
- src/Thrift/Transport/HttpClient.hs +1/−1
LICENSE view
@@ -1,16 +1,202 @@-Licensed to the Apache Software Foundation (ASF) under one-or more contributor license agreements. See the NOTICE file-distributed with this work for additional information-regarding copyright ownership. The ASF licenses this file-to you under the Apache License, Version 2.0 (the-"License"); you may not use this file except in compliance-with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0+ Apache License+ Version 2.0, January 2004+ http://www.apache.org/licenses/ -Unless required by applicable law or agreed to in writing,-software distributed under the License is distributed on an-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY-KIND, either express or implied. See the License for the-specific language governing permissions and limitations-under the License.+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION++ 1. Definitions.++ "License" shall mean the terms and conditions for use, reproduction,+ and distribution as defined by Sections 1 through 9 of this document.++ "Licensor" shall mean the copyright owner or entity authorized by+ the copyright owner that is granting the License.++ "Legal Entity" shall mean the union of the acting entity and all+ other entities that control, are controlled by, or are under common+ control with that entity. For the purposes of this definition,+ "control" means (i) the power, direct or indirect, to cause the+ direction or management of such entity, whether by contract or+ otherwise, or (ii) ownership of fifty percent (50%) or more of the+ outstanding shares, or (iii) beneficial ownership of such entity.++ "You" (or "Your") shall mean an individual or Legal Entity+ exercising permissions granted by this License.++ "Source" form shall mean the preferred form for making modifications,+ including but not limited to software source code, documentation+ source, and configuration files.++ "Object" form shall mean any form resulting from mechanical+ transformation or translation of a Source form, including but+ not limited to compiled object code, generated documentation,+ and conversions to other media types.++ "Work" shall mean the work of authorship, whether in Source or+ Object form, made available under the License, as indicated by a+ copyright notice that is included in or attached to the work+ (an example is provided in the Appendix below).++ "Derivative Works" shall mean any work, whether in Source or Object+ form, that is based on (or derived from) the Work and for which the+ editorial revisions, annotations, elaborations, or other modifications+ represent, as a whole, an original work of authorship. For the purposes+ of this License, Derivative Works shall not include works that remain+ separable from, or merely link (or bind by name) to the interfaces of,+ the Work and Derivative Works thereof.++ "Contribution" shall mean any work of authorship, including+ the original version of the Work and any modifications or additions+ to that Work or Derivative Works thereof, that is intentionally+ submitted to Licensor for inclusion in the Work by the copyright owner+ or by an individual or Legal Entity authorized to submit on behalf of+ the copyright owner. For the purposes of this definition, "submitted"+ means any form of electronic, verbal, or written communication sent+ to the Licensor or its representatives, including but not limited to+ communication on electronic mailing lists, source code control systems,+ and issue tracking systems that are managed by, or on behalf of, the+ Licensor for the purpose of discussing and improving the Work, but+ excluding communication that is conspicuously marked or otherwise+ designated in writing by the copyright owner as "Not a Contribution."++ "Contributor" shall mean Licensor and any individual or Legal Entity+ on behalf of whom a Contribution has been received by Licensor and+ subsequently incorporated within the Work.++ 2. Grant of Copyright License. Subject to the terms and conditions of+ this License, each Contributor hereby grants to You a perpetual,+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable+ copyright license to reproduce, prepare Derivative Works of,+ publicly display, publicly perform, sublicense, and distribute the+ Work and such Derivative Works in Source or Object form.++ 3. Grant of Patent License. Subject to the terms and conditions of+ this License, each Contributor hereby grants to You a perpetual,+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable+ (except as stated in this section) patent license to make, have made,+ use, offer to sell, sell, import, and otherwise transfer the Work,+ where such license applies only to those patent claims licensable+ by such Contributor that are necessarily infringed by their+ Contribution(s) alone or by combination of their Contribution(s)+ with the Work to which such Contribution(s) was submitted. If You+ institute patent litigation against any entity (including a+ cross-claim or counterclaim in a lawsuit) alleging that the Work+ or a Contribution incorporated within the Work constitutes direct+ or contributory patent infringement, then any patent licenses+ granted to You under this License for that Work shall terminate+ as of the date such litigation is filed.++ 4. Redistribution. You may reproduce and distribute copies of the+ Work or Derivative Works thereof in any medium, with or without+ modifications, and in Source or Object form, provided that You+ meet the following conditions:++ (a) You must give any other recipients of the Work or+ Derivative Works a copy of this License; and++ (b) You must cause any modified files to carry prominent notices+ stating that You changed the files; and++ (c) You must retain, in the Source form of any Derivative Works+ that You distribute, all copyright, patent, trademark, and+ attribution notices from the Source form of the Work,+ excluding those notices that do not pertain to any part of+ the Derivative Works; and++ (d) If the Work includes a "NOTICE" text file as part of its+ distribution, then any Derivative Works that You distribute must+ include a readable copy of the attribution notices contained+ within such NOTICE file, excluding those notices that do not+ pertain to any part of the Derivative Works, in at least one+ of the following places: within a NOTICE text file distributed+ as part of the Derivative Works; within the Source form or+ documentation, if provided along with the Derivative Works; or,+ within a display generated by the Derivative Works, if and+ wherever such third-party notices normally appear. The contents+ of the NOTICE file are for informational purposes only and+ do not modify the License. You may add Your own attribution+ notices within Derivative Works that You distribute, alongside+ or as an addendum to the NOTICE text from the Work, provided+ that such additional attribution notices cannot be construed+ as modifying the License.++ You may add Your own copyright statement to Your modifications and+ may provide additional or different license terms and conditions+ for use, reproduction, or distribution of Your modifications, or+ for any such Derivative Works as a whole, provided Your use,+ reproduction, and distribution of the Work otherwise complies with+ the conditions stated in this License.++ 5. Submission of Contributions. Unless You explicitly state otherwise,+ any Contribution intentionally submitted for inclusion in the Work+ by You to the Licensor shall be under the terms and conditions of+ this License, without any additional terms or conditions.+ Notwithstanding the above, nothing herein shall supersede or modify+ the terms of any separate license agreement you may have executed+ with Licensor regarding such Contributions.++ 6. Trademarks. This License does not grant permission to use the trade+ names, trademarks, service marks, or product names of the Licensor,+ except as required for reasonable and customary use in describing the+ origin of the Work and reproducing the content of the NOTICE file.++ 7. Disclaimer of Warranty. Unless required by applicable law or+ agreed to in writing, Licensor provides the Work (and each+ Contributor provides its Contributions) on an "AS IS" BASIS,+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or+ implied, including, without limitation, any warranties or conditions+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A+ PARTICULAR PURPOSE. You are solely responsible for determining the+ appropriateness of using or redistributing the Work and assume any+ risks associated with Your exercise of permissions under this License.++ 8. Limitation of Liability. In no event and under no legal theory,+ whether in tort (including negligence), contract, or otherwise,+ unless required by applicable law (such as deliberate and grossly+ negligent acts) or agreed to in writing, shall any Contributor be+ liable to You for damages, including any direct, indirect, special,+ incidental, or consequential damages of any character arising as a+ result of this License or out of the use or inability to use the+ Work (including but not limited to damages for loss of goodwill,+ work stoppage, computer failure or malfunction, or any and all+ other commercial damages or losses), even if such Contributor+ has been advised of the possibility of such damages.++ 9. Accepting Warranty or Additional Liability. While redistributing+ the Work or Derivative Works thereof, You may choose to offer,+ and charge a fee for, acceptance of support, warranty, indemnity,+ or other liability obligations and/or rights consistent with this+ License. However, in accepting such obligations, You may act only+ on Your own behalf and on Your sole responsibility, not on behalf+ of any other Contributor, and only if You agree to indemnify,+ defend, and hold each Contributor harmless for any liability+ incurred by, or claims asserted against, such Contributor by reason+ of your accepting any such warranty or additional liability.++ END OF TERMS AND CONDITIONS++ APPENDIX: How to apply the Apache License to your work.++ To apply the Apache License to your work, attach the following+ boilerplate notice, with the fields enclosed by brackets "[]"+ replaced with your own identifying information. (Don't include+ the brackets!) The text should be enclosed in the appropriate+ comment syntax for the file format. We also recommend that a+ file or class name and description of purpose be included on the+ same "printed page" as the copyright notice for easier+ identification within third-party archives.++ Copyright [yyyy] [name of copyright owner]++ Licensed under the Apache License, Version 2.0 (the "License");+ you may not use this file except in compliance with the License.+ You may obtain a copy of the License at++ http://www.apache.org/licenses/LICENSE-2.0++ Unless required by applicable law or agreed to in writing, software+ distributed under the License is distributed on an "AS IS" BASIS,+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.+ See the License for the specific language governing permissions and+ limitations under the License.
+ Makefile view
@@ -0,0 +1,475 @@+# Makefile.in generated by automake 1.11.1 from Makefile.am.+# lib/hs/Makefile. Generated from Makefile.in by configure.++# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,+# Inc.+# This Makefile.in is free software; the Free Software Foundation+# gives unlimited permission to copy and/or distribute it,+# with or without modifications, as long as this notice is preserved.++# This program is distributed in the hope that it will be useful,+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A+# PARTICULAR PURPOSE.++++#+# Licensed to the Apache Software Foundation (ASF) under one+# or more contributor license agreements. See the NOTICE file+# distributed with this work for additional information+# regarding copyright ownership. The ASF licenses this file+# to you under the Apache License, Version 2.0 (the+# "License"); you may not use this file except in compliance+# with the License. You may obtain a copy of the License at+#+# http://www.apache.org/licenses/LICENSE-2.0+#+# Unless required by applicable law or agreed to in writing,+# software distributed under the License is distributed on an+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY+# KIND, either express or implied. See the License for the+# specific language governing permissions and limitations+# under the License.+#++pkgdatadir = $(datadir)/thrift+pkgincludedir = $(includedir)/thrift+pkglibdir = $(libdir)/thrift+pkglibexecdir = $(libexecdir)/thrift+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd+install_sh_DATA = $(install_sh) -c -m 644+install_sh_PROGRAM = $(install_sh) -c+install_sh_SCRIPT = $(install_sh) -c+INSTALL_HEADER = $(INSTALL_DATA)+transform = $(program_transform_name)+NORMAL_INSTALL = :+PRE_INSTALL = :+POST_INSTALL = :+NORMAL_UNINSTALL = :+PRE_UNINSTALL = :+POST_UNINSTALL = :+build_triplet = x86_64-apple-darwin10.6.0+host_triplet = x86_64-apple-darwin10.6.0+subdir = lib/hs+DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in TODO+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4+am__aclocal_m4_deps = $(top_srcdir)/aclocal/ax_boost_base.m4 \+ $(top_srcdir)/aclocal/ax_javac_and_java.m4 \+ $(top_srcdir)/aclocal/ax_lib_event.m4 \+ $(top_srcdir)/aclocal/ax_lib_zlib.m4 \+ $(top_srcdir)/aclocal/ax_prog_perl_modules.m4 \+ $(top_srcdir)/aclocal/ax_signed_right_shift.m4 \+ $(top_srcdir)/aclocal/ax_thrift_internal.m4 \+ $(top_srcdir)/aclocal/libtool.m4 \+ $(top_srcdir)/aclocal/ltoptions.m4 \+ $(top_srcdir)/aclocal/ltsugar.m4 \+ $(top_srcdir)/aclocal/ltversion.m4 \+ $(top_srcdir)/aclocal/lt~obsolete.m4 \+ $(top_srcdir)/configure.ac+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \+ $(ACLOCAL_M4)+mkinstalldirs = $(install_sh) -d+CONFIG_HEADER = $(top_builddir)/config.h+CONFIG_CLEAN_FILES =+CONFIG_CLEAN_VPATH_FILES =+SOURCES =+DIST_SOURCES =+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)+ACLOCAL = ${SHELL} /Users/kirk/Downloads/thrift-0.6.0/missing --run aclocal-1.11+ALLOCA = +AMTAR = ${SHELL} /Users/kirk/Downloads/thrift-0.6.0/missing --run tar+ANT = +ANT_FLAGS = +AR = ar+AUTOCONF = ${SHELL} /Users/kirk/Downloads/thrift-0.6.0/missing --run autoconf+AUTOHEADER = ${SHELL} /Users/kirk/Downloads/thrift-0.6.0/missing --run autoheader+AUTOMAKE = ${SHELL} /Users/kirk/Downloads/thrift-0.6.0/missing --run automake-1.11+AWK = gawk+BOOST_CPPFLAGS = -I/opt/local/include+BOOST_LDFLAGS = -L/opt/local/lib+BOOST_ROOT_PATH = /opt/local+CABAL = true+CABAL_CONFIGURE_FLAGS = +CC = gcc+CCDEPMODE = depmode=gcc3+CFLAGS = -g -O2+CLASSPATH = +CPP = gcc -E+CPPFLAGS = +CXX = g+++CXXCPP = g++ -E+CXXDEPMODE = depmode=gcc3+CXXFLAGS = -g -O2+CYGPATH_W = echo+DEFS = -DHAVE_CONFIG_H+DEPDIR = .deps+DSYMUTIL = dsymutil+DUMPBIN = +ECHO_C = +ECHO_N = -n+ECHO_T = +EGREP = /usr/bin/grep -E+ENABLE_COVERAGE = 2+ERL = +ERLANG_INSTALL_LIB_DIR = +ERLANG_INSTALL_LIB_DIR_thrift = +ERLANG_LIB_DIR = +ERLC = +ERLCFLAGS = +EXEEXT = +FGREP = /usr/bin/grep -F+GCOV_CFLAGS = +GCOV_CXXFLAGS = +GCOV_LDFLAGS = +GLIB_CFLAGS = +GLIB_LIBS = +GOBJECT_CFLAGS = +GOBJECT_LIBS = +GREP = /usr/bin/grep+INSTALL = /opt/local/bin/ginstall -c+INSTALL_DATA = ${INSTALL} -m 644+INSTALL_PROGRAM = ${INSTALL}+INSTALL_SCRIPT = ${INSTALL}+INSTALL_STRIP_PROGRAM = $(install_sh) -c -s+JAVA_PREFIX = /usr/local/lib+LD = /usr/libexec/gcc/i686-apple-darwin10/4.2.1/ld+LDFLAGS = +LEX = flex+LEXLIB = -lfl+LEX_OUTPUT_ROOT = lex.yy+LIBEVENT_CPPFLAGS = +LIBEVENT_LDFLAGS = +LIBEVENT_LIBS = +LIBOBJS = ${LIBOBJDIR}lstat$U.o+LIBS = -lpthread +LIBTOOL = $(SHELL) $(top_builddir)/libtool+LIPO = lipo+LN_S = ln -s+LTLIBOBJS = ${LIBOBJDIR}lstat$U.lo+MAKEINFO = ${SHELL} /Users/kirk/Downloads/thrift-0.6.0/missing --run makeinfo+MKDIR_P = /opt/local/bin/gmkdir -p+MONO_CFLAGS = +MONO_LIBS = +NM = /usr/bin/nm+NMEDIT = nmedit+OBJDUMP = false+OBJEXT = o+OTOOL = otool+OTOOL64 = :+PACKAGE = thrift+PACKAGE_BUGREPORT = +PACKAGE_NAME = thrift+PACKAGE_STRING = thrift 0.6.0+PACKAGE_TARNAME = thrift+PACKAGE_URL = +PACKAGE_VERSION = 0.6.0+PATH_SEPARATOR = :+PERL = +PERL_PREFIX = /usr/local+PHP = +PHP_CONFIG = +PHP_CONFIG_PREFIX = /etc/php.d+PHP_PREFIX = /usr/lib/php+PKG_CONFIG = +PKG_CONFIG_LIBDIR = +PKG_CONFIG_PATH = +PYTHON = +PYTHON_EXEC_PREFIX = +PYTHON_PLATFORM = +PYTHON_PREFIX = +PYTHON_VERSION = +PY_PREFIX = /usr+RANLIB = ranlib+RSPEC = +RUBY = +RUBY_PREFIX = +RUNHASKELL = true+SED = /usr/bin/sed+SET_MAKE = +SHELL = /bin/sh+STRIP = strip+TRIAL = /usr/bin/trial+VERSION = 0.6.0+YACC = bison -y+YFLAGS = +ZLIB_CPPFLAGS = +ZLIB_LDFLAGS = +ZLIB_LIBS = -lz+abs_builddir = /Users/kirk/Downloads/thrift-0.6.0/lib/hs+abs_srcdir = /Users/kirk/Downloads/thrift-0.6.0/lib/hs+abs_top_builddir = /Users/kirk/Downloads/thrift-0.6.0+abs_top_srcdir = /Users/kirk/Downloads/thrift-0.6.0+ac_ct_CC = gcc+ac_ct_CXX = g+++ac_ct_DUMPBIN = +am__include = include+am__leading_dot = .+am__quote = +am__tar = ${AMTAR} chof - "$$tardir"+am__untar = ${AMTAR} xf -+bindir = ${exec_prefix}/bin+build = x86_64-apple-darwin10.6.0+build_alias = +build_cpu = x86_64+build_os = darwin10.6.0+build_vendor = apple+builddir = .+datadir = ${datarootdir}+datarootdir = ${prefix}/share+docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}+dvidir = ${docdir}+exec_prefix = ${prefix}+host = x86_64-apple-darwin10.6.0+host_alias = +host_cpu = x86_64+host_os = darwin10.6.0+host_vendor = apple+htmldir = ${docdir}+includedir = ${prefix}/include+infodir = ${datarootdir}/info+install_sh = ${SHELL} /Users/kirk/Downloads/thrift-0.6.0/install-sh+libdir = ${exec_prefix}/lib+libexecdir = ${exec_prefix}/libexec+localedir = ${datarootdir}/locale+localstatedir = ${prefix}/var+lt_ECHO = echo+mandir = ${datarootdir}/man+mkdir_p = /opt/local/bin/gmkdir -p+oldincludedir = /usr/include+pdfdir = ${docdir}+pkgpyexecdir = +pkgpythondir = +prefix = /Users/kirk/Software/thrift-0.6.0+program_transform_name = s,x,x,+psdir = ${docdir}+pyexecdir = +pythondir = +sbindir = ${exec_prefix}/sbin+sharedstatedir = ${prefix}/com+srcdir = .+subdirs = +sysconfdir = ${prefix}/etc+target_alias = +top_build_prefix = ../../+top_builddir = ../..+top_srcdir = ../..+EXTRA_DIST = \+ LICENSE \+ README \+ Setup.lhs \+ TODO \+ Thrift.cabal \+ src++all: all-am++.SUFFIXES:+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)+ @for dep in $?; do \+ case '$(am__configure_deps)' in \+ *$$dep*) \+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \+ && { if test -f $@; then exit 0; else break; fi; }; \+ exit 1;; \+ esac; \+ done; \+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign lib/hs/Makefile'; \+ $(am__cd) $(top_srcdir) && \+ $(AUTOMAKE) --foreign lib/hs/Makefile+.PRECIOUS: Makefile+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status+ @case '$?' in \+ *config.status*) \+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \+ *) \+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \+ esac;++$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh++$(top_srcdir)/configure: $(am__configure_deps)+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh+$(ACLOCAL_M4): $(am__aclocal_m4_deps)+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh+$(am__aclocal_m4_deps):++mostlyclean-libtool:+ -rm -f *.lo++clean-libtool:+ -rm -rf .libs _libs+tags: TAGS+TAGS:++ctags: CTAGS+CTAGS:+++distdir: $(DISTFILES)+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \+ list='$(DISTFILES)'; \+ dist_files=`for file in $$list; do echo $$file; done | \+ sed -e "s|^$$srcdirstrip/||;t" \+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \+ case $$dist_files in \+ */*) $(MKDIR_P) `echo "$$dist_files" | \+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \+ sort -u` ;; \+ esac; \+ for file in $$dist_files; do \+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \+ if test -d $$d/$$file; then \+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \+ if test -d "$(distdir)/$$file"; then \+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \+ fi; \+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \+ fi; \+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \+ else \+ test -f "$(distdir)/$$file" \+ || cp -p $$d/$$file "$(distdir)/$$file" \+ || exit 1; \+ fi; \+ done+check-am: all-am+ $(MAKE) $(AM_MAKEFLAGS) check-local+check: check-am+all-am: Makefile all-local+installdirs:+install: install-am+install-exec: install-exec-am+install-data: install-data-am+uninstall: uninstall-am++install-am: all-am+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am++installcheck: installcheck-am+install-strip:+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \+ `test -z '$(STRIP)' || \+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install+mostlyclean-generic:++clean-generic:++distclean-generic:+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)++maintainer-clean-generic:+ @echo "This command is intended for maintainers to use"+ @echo "it deletes files that may require special tools to rebuild."+clean: clean-am++clean-am: clean-generic clean-libtool clean-local mostlyclean-am++distclean: distclean-am+ -rm -f Makefile+distclean-am: clean-am distclean-generic++dvi: dvi-am++dvi-am:++html: html-am++html-am:++info: info-am++info-am:++install-data-am:++install-dvi: install-dvi-am++install-dvi-am:++install-exec-am:+ @$(NORMAL_INSTALL)+ $(MAKE) $(AM_MAKEFLAGS) install-exec-hook+install-html: install-html-am++install-html-am:++install-info: install-info-am++install-info-am:++install-man:++install-pdf: install-pdf-am++install-pdf-am:++install-ps: install-ps-am++install-ps-am:++installcheck-am:++maintainer-clean: maintainer-clean-am+ -rm -f Makefile+maintainer-clean-am: distclean-am maintainer-clean-generic \+ maintainer-clean-local++mostlyclean: mostlyclean-am++mostlyclean-am: mostlyclean-generic mostlyclean-libtool++pdf: pdf-am++pdf-am:++ps: ps-am++ps-am:++uninstall-am:++.MAKE: check-am install-am install-exec-am install-strip++.PHONY: all all-am all-local check check-am check-local clean \+ clean-generic clean-libtool clean-local distclean \+ distclean-generic distclean-libtool distdir dvi dvi-am html \+ html-am info info-am install install-am install-data \+ install-data-am install-dvi install-dvi-am install-exec \+ install-exec-am install-exec-hook install-html install-html-am \+ install-info install-info-am install-man install-pdf \+ install-pdf-am install-ps install-ps-am install-strip \+ installcheck installcheck-am installdirs maintainer-clean \+ maintainer-clean-generic maintainer-clean-local mostlyclean \+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \+ uninstall uninstall-am+++all-local:+ $(RUNHASKELL) Setup.lhs configure $(CABAL_CONFIGURE_FLAGS)+ $(RUNHASKELL) Setup.lhs build++install-exec-hook:+ $(RUNHASKELL) Setup.lhs install++# Make sure this doesn't fail if Haskell is not configured.+clean-local:+ $(RUNHASKELL) Setup.lhs clean++maintainer-clean-local:+ $(RUNHASKELL) Setup.lhs clean++check-local:+ $(CABAL) check++# Tell versions [3.59,3.63) of GNU make to not export all variables.+# Otherwise a system limit (for SysV at least) may be exceeded.+.NOEXPORT:
+ Makefile.am view
@@ -0,0 +1,43 @@+#+# Licensed to the Apache Software Foundation (ASF) under one+# or more contributor license agreements. See the NOTICE file+# distributed with this work for additional information+# regarding copyright ownership. The ASF licenses this file+# to you under the Apache License, Version 2.0 (the+# "License"); you may not use this file except in compliance+# with the License. You may obtain a copy of the License at+#+# http://www.apache.org/licenses/LICENSE-2.0+#+# Unless required by applicable law or agreed to in writing,+# software distributed under the License is distributed on an+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY+# KIND, either express or implied. See the License for the+# specific language governing permissions and limitations+# under the License.+#++EXTRA_DIST = \+ LICENSE \+ README \+ Setup.lhs \+ TODO \+ Thrift.cabal \+ src++all-local:+ $(RUNHASKELL) Setup.lhs configure $(CABAL_CONFIGURE_FLAGS)+ $(RUNHASKELL) Setup.lhs build++install-exec-hook:+ $(RUNHASKELL) Setup.lhs install++# Make sure this doesn't fail if Haskell is not configured.+clean-local:+ $(RUNHASKELL) Setup.lhs clean++maintainer-clean-local:+ $(RUNHASKELL) Setup.lhs clean++check-local:+ $(CABAL) check
+ Makefile.in view
@@ -0,0 +1,475 @@+# Makefile.in generated by automake 1.11.1 from Makefile.am.+# @configure_input@++# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,+# Inc.+# This Makefile.in is free software; the Free Software Foundation+# gives unlimited permission to copy and/or distribute it,+# with or without modifications, as long as this notice is preserved.++# This program is distributed in the hope that it will be useful,+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A+# PARTICULAR PURPOSE.++@SET_MAKE@++#+# Licensed to the Apache Software Foundation (ASF) under one+# or more contributor license agreements. See the NOTICE file+# distributed with this work for additional information+# regarding copyright ownership. The ASF licenses this file+# to you under the Apache License, Version 2.0 (the+# "License"); you may not use this file except in compliance+# with the License. You may obtain a copy of the License at+#+# http://www.apache.org/licenses/LICENSE-2.0+#+# Unless required by applicable law or agreed to in writing,+# software distributed under the License is distributed on an+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY+# KIND, either express or implied. See the License for the+# specific language governing permissions and limitations+# under the License.+#+VPATH = @srcdir@+pkgdatadir = $(datadir)/@PACKAGE@+pkgincludedir = $(includedir)/@PACKAGE@+pkglibdir = $(libdir)/@PACKAGE@+pkglibexecdir = $(libexecdir)/@PACKAGE@+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd+install_sh_DATA = $(install_sh) -c -m 644+install_sh_PROGRAM = $(install_sh) -c+install_sh_SCRIPT = $(install_sh) -c+INSTALL_HEADER = $(INSTALL_DATA)+transform = $(program_transform_name)+NORMAL_INSTALL = :+PRE_INSTALL = :+POST_INSTALL = :+NORMAL_UNINSTALL = :+PRE_UNINSTALL = :+POST_UNINSTALL = :+build_triplet = @build@+host_triplet = @host@+subdir = lib/hs+DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in TODO+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4+am__aclocal_m4_deps = $(top_srcdir)/aclocal/ax_boost_base.m4 \+ $(top_srcdir)/aclocal/ax_javac_and_java.m4 \+ $(top_srcdir)/aclocal/ax_lib_event.m4 \+ $(top_srcdir)/aclocal/ax_lib_zlib.m4 \+ $(top_srcdir)/aclocal/ax_prog_perl_modules.m4 \+ $(top_srcdir)/aclocal/ax_signed_right_shift.m4 \+ $(top_srcdir)/aclocal/ax_thrift_internal.m4 \+ $(top_srcdir)/aclocal/libtool.m4 \+ $(top_srcdir)/aclocal/ltoptions.m4 \+ $(top_srcdir)/aclocal/ltsugar.m4 \+ $(top_srcdir)/aclocal/ltversion.m4 \+ $(top_srcdir)/aclocal/lt~obsolete.m4 \+ $(top_srcdir)/configure.ac+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \+ $(ACLOCAL_M4)+mkinstalldirs = $(install_sh) -d+CONFIG_HEADER = $(top_builddir)/config.h+CONFIG_CLEAN_FILES =+CONFIG_CLEAN_VPATH_FILES =+SOURCES =+DIST_SOURCES =+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)+ACLOCAL = @ACLOCAL@+ALLOCA = @ALLOCA@+AMTAR = @AMTAR@+ANT = @ANT@+ANT_FLAGS = @ANT_FLAGS@+AR = @AR@+AUTOCONF = @AUTOCONF@+AUTOHEADER = @AUTOHEADER@+AUTOMAKE = @AUTOMAKE@+AWK = @AWK@+BOOST_CPPFLAGS = @BOOST_CPPFLAGS@+BOOST_LDFLAGS = @BOOST_LDFLAGS@+BOOST_ROOT_PATH = @BOOST_ROOT_PATH@+CABAL = @CABAL@+CABAL_CONFIGURE_FLAGS = @CABAL_CONFIGURE_FLAGS@+CC = @CC@+CCDEPMODE = @CCDEPMODE@+CFLAGS = @CFLAGS@+CLASSPATH = @CLASSPATH@+CPP = @CPP@+CPPFLAGS = @CPPFLAGS@+CXX = @CXX@+CXXCPP = @CXXCPP@+CXXDEPMODE = @CXXDEPMODE@+CXXFLAGS = @CXXFLAGS@+CYGPATH_W = @CYGPATH_W@+DEFS = @DEFS@+DEPDIR = @DEPDIR@+DSYMUTIL = @DSYMUTIL@+DUMPBIN = @DUMPBIN@+ECHO_C = @ECHO_C@+ECHO_N = @ECHO_N@+ECHO_T = @ECHO_T@+EGREP = @EGREP@+ENABLE_COVERAGE = @ENABLE_COVERAGE@+ERL = @ERL@+ERLANG_INSTALL_LIB_DIR = @ERLANG_INSTALL_LIB_DIR@+ERLANG_INSTALL_LIB_DIR_thrift = @ERLANG_INSTALL_LIB_DIR_thrift@+ERLANG_LIB_DIR = @ERLANG_LIB_DIR@+ERLC = @ERLC@+ERLCFLAGS = @ERLCFLAGS@+EXEEXT = @EXEEXT@+FGREP = @FGREP@+GCOV_CFLAGS = @GCOV_CFLAGS@+GCOV_CXXFLAGS = @GCOV_CXXFLAGS@+GCOV_LDFLAGS = @GCOV_LDFLAGS@+GLIB_CFLAGS = @GLIB_CFLAGS@+GLIB_LIBS = @GLIB_LIBS@+GOBJECT_CFLAGS = @GOBJECT_CFLAGS@+GOBJECT_LIBS = @GOBJECT_LIBS@+GREP = @GREP@+INSTALL = @INSTALL@+INSTALL_DATA = @INSTALL_DATA@+INSTALL_PROGRAM = @INSTALL_PROGRAM@+INSTALL_SCRIPT = @INSTALL_SCRIPT@+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@+JAVA_PREFIX = @JAVA_PREFIX@+LD = @LD@+LDFLAGS = @LDFLAGS@+LEX = @LEX@+LEXLIB = @LEXLIB@+LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@+LIBEVENT_CPPFLAGS = @LIBEVENT_CPPFLAGS@+LIBEVENT_LDFLAGS = @LIBEVENT_LDFLAGS@+LIBEVENT_LIBS = @LIBEVENT_LIBS@+LIBOBJS = @LIBOBJS@+LIBS = @LIBS@+LIBTOOL = @LIBTOOL@+LIPO = @LIPO@+LN_S = @LN_S@+LTLIBOBJS = @LTLIBOBJS@+MAKEINFO = @MAKEINFO@+MKDIR_P = @MKDIR_P@+MONO_CFLAGS = @MONO_CFLAGS@+MONO_LIBS = @MONO_LIBS@+NM = @NM@+NMEDIT = @NMEDIT@+OBJDUMP = @OBJDUMP@+OBJEXT = @OBJEXT@+OTOOL = @OTOOL@+OTOOL64 = @OTOOL64@+PACKAGE = @PACKAGE@+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@+PACKAGE_NAME = @PACKAGE_NAME@+PACKAGE_STRING = @PACKAGE_STRING@+PACKAGE_TARNAME = @PACKAGE_TARNAME@+PACKAGE_URL = @PACKAGE_URL@+PACKAGE_VERSION = @PACKAGE_VERSION@+PATH_SEPARATOR = @PATH_SEPARATOR@+PERL = @PERL@+PERL_PREFIX = @PERL_PREFIX@+PHP = @PHP@+PHP_CONFIG = @PHP_CONFIG@+PHP_CONFIG_PREFIX = @PHP_CONFIG_PREFIX@+PHP_PREFIX = @PHP_PREFIX@+PKG_CONFIG = @PKG_CONFIG@+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@+PYTHON = @PYTHON@+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@+PYTHON_PLATFORM = @PYTHON_PLATFORM@+PYTHON_PREFIX = @PYTHON_PREFIX@+PYTHON_VERSION = @PYTHON_VERSION@+PY_PREFIX = @PY_PREFIX@+RANLIB = @RANLIB@+RSPEC = @RSPEC@+RUBY = @RUBY@+RUBY_PREFIX = @RUBY_PREFIX@+RUNHASKELL = @RUNHASKELL@+SED = @SED@+SET_MAKE = @SET_MAKE@+SHELL = @SHELL@+STRIP = @STRIP@+TRIAL = @TRIAL@+VERSION = @VERSION@+YACC = @YACC@+YFLAGS = @YFLAGS@+ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@+ZLIB_LDFLAGS = @ZLIB_LDFLAGS@+ZLIB_LIBS = @ZLIB_LIBS@+abs_builddir = @abs_builddir@+abs_srcdir = @abs_srcdir@+abs_top_builddir = @abs_top_builddir@+abs_top_srcdir = @abs_top_srcdir@+ac_ct_CC = @ac_ct_CC@+ac_ct_CXX = @ac_ct_CXX@+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@+am__include = @am__include@+am__leading_dot = @am__leading_dot@+am__quote = @am__quote@+am__tar = @am__tar@+am__untar = @am__untar@+bindir = @bindir@+build = @build@+build_alias = @build_alias@+build_cpu = @build_cpu@+build_os = @build_os@+build_vendor = @build_vendor@+builddir = @builddir@+datadir = @datadir@+datarootdir = @datarootdir@+docdir = @docdir@+dvidir = @dvidir@+exec_prefix = @exec_prefix@+host = @host@+host_alias = @host_alias@+host_cpu = @host_cpu@+host_os = @host_os@+host_vendor = @host_vendor@+htmldir = @htmldir@+includedir = @includedir@+infodir = @infodir@+install_sh = @install_sh@+libdir = @libdir@+libexecdir = @libexecdir@+localedir = @localedir@+localstatedir = @localstatedir@+lt_ECHO = @lt_ECHO@+mandir = @mandir@+mkdir_p = @mkdir_p@+oldincludedir = @oldincludedir@+pdfdir = @pdfdir@+pkgpyexecdir = @pkgpyexecdir@+pkgpythondir = @pkgpythondir@+prefix = @prefix@+program_transform_name = @program_transform_name@+psdir = @psdir@+pyexecdir = @pyexecdir@+pythondir = @pythondir@+sbindir = @sbindir@+sharedstatedir = @sharedstatedir@+srcdir = @srcdir@+subdirs = @subdirs@+sysconfdir = @sysconfdir@+target_alias = @target_alias@+top_build_prefix = @top_build_prefix@+top_builddir = @top_builddir@+top_srcdir = @top_srcdir@+EXTRA_DIST = \+ LICENSE \+ README \+ Setup.lhs \+ TODO \+ Thrift.cabal \+ src++all: all-am++.SUFFIXES:+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)+ @for dep in $?; do \+ case '$(am__configure_deps)' in \+ *$$dep*) \+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \+ && { if test -f $@; then exit 0; else break; fi; }; \+ exit 1;; \+ esac; \+ done; \+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign lib/hs/Makefile'; \+ $(am__cd) $(top_srcdir) && \+ $(AUTOMAKE) --foreign lib/hs/Makefile+.PRECIOUS: Makefile+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status+ @case '$?' in \+ *config.status*) \+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \+ *) \+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \+ esac;++$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh++$(top_srcdir)/configure: $(am__configure_deps)+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh+$(ACLOCAL_M4): $(am__aclocal_m4_deps)+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh+$(am__aclocal_m4_deps):++mostlyclean-libtool:+ -rm -f *.lo++clean-libtool:+ -rm -rf .libs _libs+tags: TAGS+TAGS:++ctags: CTAGS+CTAGS:+++distdir: $(DISTFILES)+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \+ list='$(DISTFILES)'; \+ dist_files=`for file in $$list; do echo $$file; done | \+ sed -e "s|^$$srcdirstrip/||;t" \+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \+ case $$dist_files in \+ */*) $(MKDIR_P) `echo "$$dist_files" | \+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \+ sort -u` ;; \+ esac; \+ for file in $$dist_files; do \+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \+ if test -d $$d/$$file; then \+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \+ if test -d "$(distdir)/$$file"; then \+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \+ fi; \+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \+ fi; \+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \+ else \+ test -f "$(distdir)/$$file" \+ || cp -p $$d/$$file "$(distdir)/$$file" \+ || exit 1; \+ fi; \+ done+check-am: all-am+ $(MAKE) $(AM_MAKEFLAGS) check-local+check: check-am+all-am: Makefile all-local+installdirs:+install: install-am+install-exec: install-exec-am+install-data: install-data-am+uninstall: uninstall-am++install-am: all-am+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am++installcheck: installcheck-am+install-strip:+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \+ `test -z '$(STRIP)' || \+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install+mostlyclean-generic:++clean-generic:++distclean-generic:+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)++maintainer-clean-generic:+ @echo "This command is intended for maintainers to use"+ @echo "it deletes files that may require special tools to rebuild."+clean: clean-am++clean-am: clean-generic clean-libtool clean-local mostlyclean-am++distclean: distclean-am+ -rm -f Makefile+distclean-am: clean-am distclean-generic++dvi: dvi-am++dvi-am:++html: html-am++html-am:++info: info-am++info-am:++install-data-am:++install-dvi: install-dvi-am++install-dvi-am:++install-exec-am:+ @$(NORMAL_INSTALL)+ $(MAKE) $(AM_MAKEFLAGS) install-exec-hook+install-html: install-html-am++install-html-am:++install-info: install-info-am++install-info-am:++install-man:++install-pdf: install-pdf-am++install-pdf-am:++install-ps: install-ps-am++install-ps-am:++installcheck-am:++maintainer-clean: maintainer-clean-am+ -rm -f Makefile+maintainer-clean-am: distclean-am maintainer-clean-generic \+ maintainer-clean-local++mostlyclean: mostlyclean-am++mostlyclean-am: mostlyclean-generic mostlyclean-libtool++pdf: pdf-am++pdf-am:++ps: ps-am++ps-am:++uninstall-am:++.MAKE: check-am install-am install-exec-am install-strip++.PHONY: all all-am all-local check check-am check-local clean \+ clean-generic clean-libtool clean-local distclean \+ distclean-generic distclean-libtool distdir dvi dvi-am html \+ html-am info info-am install install-am install-data \+ install-data-am install-dvi install-dvi-am install-exec \+ install-exec-am install-exec-hook install-html install-html-am \+ install-info install-info-am install-man install-pdf \+ install-pdf-am install-ps install-ps-am install-strip \+ installcheck installcheck-am installdirs maintainer-clean \+ maintainer-clean-generic maintainer-clean-local mostlyclean \+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \+ uninstall uninstall-am+++all-local:+ $(RUNHASKELL) Setup.lhs configure $(CABAL_CONFIGURE_FLAGS)+ $(RUNHASKELL) Setup.lhs build++install-exec-hook:+ $(RUNHASKELL) Setup.lhs install++# Make sure this doesn't fail if Haskell is not configured.+clean-local:+ $(RUNHASKELL) Setup.lhs clean++maintainer-clean-local:+ $(RUNHASKELL) Setup.lhs clean++check-local:+ $(CABAL) check++# Tell versions [3.59,3.63) of GNU make to not export all variables.+# Otherwise a system limit (for SysV at least) may be exceeded.+.NOEXPORT:
README view
@@ -39,7 +39,7 @@ The mapping from Thrift types to Haskell's is: * double -> Double- * i8 -> Data.Word.Word8+ * byte -> Data.Word.Word8 * i16 -> Data.Int.Int16 * i32 -> Data.Int.Int32 * i64 -> Data.Int.Int64
Thrift.cabal view
@@ -18,29 +18,37 @@ -- Name: Thrift-Version: 0.5.0.2-Cabal-Version: >= 1.2.3+Version: 0.6.0+Cabal-Version: >= 1.4 License: OtherLicense Category: Foreign Build-Type: Simple-Synopsis: Thrift library package-Homepage: http://incubator.apache.org/thrift-Maintainer: thrift-user-subscribe@incubator.apache.org +Synopsis: Haskell bindings for the Apache Thrift RPC system+Homepage: http://thrift.apache.org+Bug-Reports: https://issues.apache.org/jira/browse/THRIFT+Maintainer: dev@thrift.apache.org+License-File: LICENSE+ Description:- The Thrift Haskell package that shipped with Thrift v.0.5.0, released under the Apache 2.0 license.- Thrift-0.5.0-2 adds a missing Framed Transport implementation, which Cassandra now depends on. - For more information see: https://issues.apache.org/jira/browse/THRIFT-538.+ Haskell bindings for the Apache Thrift RPC system. Requires the use of the thrift code generator.+ Includes backported Framed Transport implementation, which Cassandra now uses by default[1]. + .+ NOTE: this package will be eventually deprecated, replaced by Christian Lavoie's thrift package[2],+ once Framed Transport support that is in Thrift's svn trunk (and backported here) is included there.+ .+ .+ [1] <https://issues.apache.org/jira/browse/THRIFT-538>+ .+ [2] <http://hackage.haskell.org/package/thrift> - Library Hs-Source-Dirs: src Build-Depends:- base >=4 && < 5, network, ghc-prim, binary, bytestring, HTTP+ base >= 4, base < 5, network, ghc-prim, binary, bytestring, HTTP Exposed-Modules: Thrift, Thrift.Protocol, Thrift.Transport, Thrift.Protocol.Binary- Thrift.Transport.Framed, Thrift.Transport.Handle,- Thrift.Transport.HttpClient, Thrift.Server+ Thrift.Transport.Handle, Thrift.Transport.Framed, Thrift.Transport.HttpClient, Thrift.Server Extensions: DeriveDataTypeable, ExistentialQuantification, FlexibleInstances, KindSignatures, MagicHash, RankNTypes,
src/Thrift/Protocol.hs view
@@ -31,7 +31,6 @@ import Control.Exception import Data.Int import Data.Typeable ( Typeable )-import Data.Word import Data.ByteString.Lazy import Thrift.Transport@@ -119,7 +118,7 @@ writeSetEnd :: Transport t => a t -> IO () writeBool :: Transport t => a t -> Bool -> IO ()- writeByte :: Transport t => a t -> Word8 -> IO ()+ writeByte :: Transport t => a t -> Int8 -> IO () writeI16 :: Transport t => a t -> Int16 -> IO () writeI32 :: Transport t => a t -> Int32 -> IO () writeI64 :: Transport t => a t -> Int64 -> IO ()@@ -143,7 +142,7 @@ readSetEnd :: Transport t => a t -> IO () readBool :: Transport t => a t -> IO Bool- readByte :: Transport t => a t -> IO Word8+ readByte :: Transport t => a t -> IO Int8 readI16 :: Transport t => a t -> IO Int16 readI32 :: Transport t => a t -> IO Int32 readI64 :: Transport t => a t -> IO Int64
src/Thrift/Protocol/Binary.hs view
@@ -27,10 +27,9 @@ import Control.Exception ( throw ) import Control.Monad ( liftM ) +import qualified Data.Binary import Data.Bits import Data.Int-import Data.List ( foldl' )-import Data.Word import GHC.Exts import GHC.Word@@ -38,8 +37,8 @@ import Thrift.Protocol import Thrift.Transport -import qualified Data.ByteString.Lazy.Char8 as LBSChar8 import qualified Data.ByteString.Lazy as LBS+import qualified Data.ByteString.Lazy.Char8 as LBSChar8 version_mask :: Int32 version_mask = 0xffff0000@@ -71,11 +70,11 @@ writeSetBegin p (t, n) = writeType p t >> writeI32 p n writeSetEnd _ = return () - writeBool p b = tWrite (getTransport p) $ LBSChar8.singleton $ toEnum $ if b then 1 else 0- writeByte p b = tWrite (getTransport p) (getBytes b 1)- writeI16 p b = tWrite (getTransport p) (getBytes b 2)- writeI32 p b = tWrite (getTransport p) (getBytes b 4)- writeI64 p b = tWrite (getTransport p) (getBytes b 8)+ writeBool p b = tWrite (getTransport p) $ LBS.singleton $ toEnum $ if b then 1 else 0+ writeByte p b = tWrite (getTransport p) $ Data.Binary.encode b+ writeI16 p b = tWrite (getTransport p) $ Data.Binary.encode b+ writeI32 p b = tWrite (getTransport p) $ Data.Binary.encode b+ writeI64 p b = tWrite (getTransport p) $ Data.Binary.encode b writeDouble p d = writeI64 p (fromIntegral $ floatBits d) writeString p s = writeI32 p (fromIntegral $ length s) >> tWrite (getTransport p) (LBSChar8.pack s) writeBinary p s = writeI32 p (fromIntegral $ LBS.length s) >> tWrite (getTransport p) s@@ -114,20 +113,31 @@ readSetEnd _ = return () readBool p = (== 1) `fmap` readByte p+ readByte p = do bs <- tReadAll (getTransport p) 1- return $ fromIntegral (composeBytes bs :: Int8)+ return $ Data.Binary.decode bs+ readI16 p = do bs <- tReadAll (getTransport p) 2- return $ fromIntegral (composeBytes bs :: Int16)- readI32 p = composeBytes `fmap` tReadAll (getTransport p) 4- readI64 p = composeBytes `fmap` tReadAll (getTransport p) 8+ return $ Data.Binary.decode bs++ readI32 p = do+ bs <- tReadAll (getTransport p) 4+ return $ Data.Binary.decode bs++ readI64 p = do+ bs <- tReadAll (getTransport p) 8+ return $ Data.Binary.decode bs+ readDouble p = do bs <- readI64 p return $ floatOfBits $ fromIntegral bs+ readString p = do i <- readI32 p LBSChar8.unpack `liftM` tReadAll (getTransport p) (fromIntegral i)+ readBinary p = do i <- readI32 p tReadAll (getTransport p) (fromIntegral i)@@ -142,17 +152,6 @@ readType p = do b <- readByte p return $ toEnum $ fromIntegral b--composeBytes :: (Bits b) => LBSChar8.ByteString -> b-composeBytes = (foldl' fn 0) . (map (fromIntegral . fromEnum)) . LBSChar8.unpack- where fn acc b = (acc `shiftL` 8) .|. b--getByte :: Bits a => a -> Int -> a-getByte i n = 255 .&. (i `shiftR` (8 * n))--getBytes :: (Bits a, Integral a) => a -> Int -> LBSChar8.ByteString-getBytes _ 0 = LBSChar8.empty-getBytes i n = (toEnum $ fromIntegral $ getByte i (n-1)) `LBSChar8.cons` (getBytes i (n-1)) floatBits :: Double -> Word64 floatBits (D# d#) = W64# (unsafeCoerce# d#)
src/Thrift/Transport.hs view
@@ -29,7 +29,7 @@ import Data.Typeable ( Typeable ) -import qualified Data.ByteString.Lazy.Char8 as LBS+import qualified Data.ByteString.Lazy as LBS import Data.Monoid class Transport a where
src/Thrift/Transport/Handle.hs view
@@ -37,7 +37,7 @@ import Thrift.Transport -import qualified Data.ByteString.Lazy.Char8 as LBS+import qualified Data.ByteString.Lazy as LBS import Data.Monoid instance Transport Handle where
src/Thrift/Transport/HttpClient.hs view
@@ -34,7 +34,7 @@ import Control.Exception (throw) import Control.Concurrent.MVar import qualified Data.Binary.Builder as B-import qualified Data.ByteString.Lazy.Char8 as LBS+import qualified Data.ByteString.Lazy as LBS -- | 'HttpClient', or THttpClient implements the Thrift Transport