module Thrift
  class BufferedTransport
    def timeout=(timeout)
      @transport.timeout = timeout
    end

    def timeout
      @transport.timeout
    end
  end

  module Client
    def timeout=(timeout)
      @iprot.trans.timeout = timeout
    end

    def timeout
      @iprot.trans.timeout
    end
  end
end

module Thrift
  class BufferedTransport
    def timeout=(timeout)
      @transport.timeout = timeout
    end

    def timeout
      @transport.timeout
    end
  end

  class FramedTransport
    def timeout=(timeout)
      @transport.timeout = timeout
    end

    def timeout
      @transport.timeout
    end
  end

  module Client
    def timeout=(timeout)
      @iprot.trans.timeout = timeout
    end

    def timeout
      @iprot.trans.timeout
    end
  end
end

Add support for specifying client-side timeouts when using FramedTransport
Add support for specifying client-side timeouts when using FramedTransport