README

godropbox GoDoc Build Status

Common libraries for writing go services/applications on Linux servers.

Requirements
  • Go 1.5+
  • Linux/x64
Installation

go get github.com/dropbox/godropbox

Documentation

See https://godoc.org/github.com/dropbox/godropbox for modules documentation.

Contributors
  • Adam Faulkner
  • Adil Hafeez
  • Alan Jeon
  • Alex Degtiar
  • Anjali Sachdeva
  • Anthony Ross
  • Antoine Grondin
  • Anup Chenthamarakshan
  • Arsham F.
  • Aurick Qiao
  • Bashar Al-Rawi
  • Benjamin Peterson
  • Braden Walker
  • Brian Pane
  • Christian Ohler
  • Chris Toshok
  • Cristian Ferretti
  • Cuong Do
  • Daisy Zhou
  • Daniel Hauenstein
  • Daniel Reiter Horn
  • Daniel Sommermann
  • Daniel Tahara
  • David Wetterau
  • David Zbarsky
  • Diwaker Gupta
  • Dmitry Kopytkov
  • Fanng Yuan
  • Greg Price
  • Han Lee
  • Harish Mallipeddi
  • Jack Ferris
  • James Cowling
  • Jamie Li
  • Jamie Turner
  • Jiten Vaidya
  • John Watson
  • Jonathan Lee
  • Kerry Xing
  • Kyle Consalus
  • Mark Chu-Carroll
  • Mark Smith
  • Maxim Bublis
  • Michael McCanna
  • Michal Szymaniak
  • Mihnea-Cezar Giurgea
  • Mihnea Giurgea
  • Mike Solomon
  • Naomi Seyfer
  • Oliver Tan
  • Pascal Borreli
  • Pasin Manurangsi
  • Patrick Lee
  • Peng Kang
  • Preslav Le
  • Raghav Sharma
  • Rajat Goel
  • Rati Gelashvili
  • Ross Delinger
  • Ruslan Nigmatullin
  • Samir Goel
  • Sean Fellows
  • Shawn Smith
  • Slava Bakhmutov
  • Sujay Jayakar
  • Timothy Palpant
  • Todd Eisenberger
  • Vadim Graboys
  • Vladislav Supalov
  • Xinyao Hu
  • Zviad Metreveli

Documentation

Overview

    Dropbox's common libraries for writing go services/applications.

    Source Files

    Directories

    Path Synopsis
    A utility library for building caching layers.
    A utility library for building caching layers.
    The maximally_batched_work.go class waits until at least batch_size of an input is full and delivers it all at once to the callee, so that the callee is guaranteed to operate on a batch at a time.
    The maximally_batched_work.go class waits until at least batch_size of an input is full and delivers it all at once to the callee, so that the callee is guaranteed to operate on a batch at a time.
    lib
    This software package is designed to help interop between legacy C programs and go programs.
    This software package is designed to help interop between legacy C programs and go programs.
    Various container/cache data structures
    Various container/cache data structures
    bitvector
    Package bitvector provides the implementation of a variable sized compact vector of bits which supports lookups, sets, appends, insertions, and deletions.
    Package bitvector provides the implementation of a variable sized compact vector of bits which supports lookups, sets, appends, insertions, and deletions.
    concurrent
    Provides a few useful thread-safe data-structures
    Provides a few useful thread-safe data-structures
    lrucache
    Package lrucache is a standard LRU cache.
    Package lrucache is a standard LRU cache.
    set
    Implementation of a Set container
    Implementation of a Set container
    Utility libraries for database operations.
    Utility libraries for database operations.
    binlog
    The binlog package provides functionality for reading and parsing MySQL binary / relay log events.
    The binlog package provides functionality for reading and parsing MySQL binary / relay log events.
    sqlbuilder
    A library for generating sql programmatically.
    A library for generating sql programmatically.
    sqltypes
    Package sqltypes implements interfaces and types that represent SQL values.
    Package sqltypes implements interfaces and types that represent SQL values.
    encoding2 is a collection of functions meant to supplement the capabilities provided by the standard "encoding" package.
    encoding2 is a collection of functions meant to supplement the capabilities provided by the standard "encoding" package.
    This module implements functions which manipulate errors and provide stack trace information.
    This module implements functions which manipulate errors and provide stack trace information.
    Package gocheck2 contains extensions to the go-check unittest framework.
    Package gocheck2 contains extensions to the go-check unittest framework.
    This package implements a set of utility hash functions.
    This package implements a set of utility hash functions.
    io2
    ioutil2
    Package ioutil2 provides extra functionality along similar lines to io/ioutil.
    Package ioutil2 provides extra functionality along similar lines to io/ioutil.
    math2 is a collection of functions meant to supplement the capabilities provided by the standard "math" package.
    math2 is a collection of functions meant to supplement the capabilities provided by the standard "math" package.
    rand2
    rand2 is a drop-in replacement for the "math/rand" package.
    rand2 is a drop-in replacement for the "math/rand" package.
    A generic memcache client library which supports connection pooling and flexible sharding.
    A generic memcache client library which supports connection pooling and flexible sharding.
    net2 is a collection of functions meant to supplement the capabilities provided by the standard "net" package.
    net2 is a collection of functions meant to supplement the capabilities provided by the standard "net" package.
    http2
    http2 is a collection of functions meant to supplement the capabilities provided by the standard "net/http" package.
    http2 is a collection of functions meant to supplement the capabilities provided by the standard "net/http" package.
    http2/test_utils
    Utility functions for testing net2/http2
    Utility functions for testing net2/http2
    Protobuf definitions
    Protobuf definitions
    mysql
    Package mysql is a generated protocol buffer package.
    Package mysql is a generated protocol buffer package.
    A generic resource pool for managing resources such as network connections.
    A generic resource pool for managing resources such as network connections.
    package stats provides a set of interfaces to log stats including a no-op implementation that doesn't do anything.
    package stats provides a set of interfaces to log stats including a no-op implementation that doesn't do anything.
    sync2 is a collection of functions meant to supplement the capabilities provided by the standard "sync" package.
    sync2 is a collection of functions meant to supplement the capabilities provided by the standard "sync" package.
    sys
    filelock
    FileLock object can be used to create locks that can be used to synchronise different processes running on the same machine.
    FileLock object can be used to create locks that can be used to synchronise different processes running on the same machine.
    time2 is a collection of functions meant to supplement the capabilities provided by the standard "time" package.
    time2 is a collection of functions meant to supplement the capabilities provided by the standard "time" package.