Code Monkey home page Code Monkey logo

abel's Introduction

hello. hacker's here.

Check out my homepage.

My GPG signature is B4C3 FC26 602F 8BB2 A40B 9C77 583F AB40 05C6 52BE.

abel's People

Contributors

hack3ric avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

abel's Issues

Hot update

Current service updating model requires removing original service first, which is not ideal when error occurs and the original service cannot be recovered.

This problem may be solved by attempting to create service first and then replace the original one.

Stream API

Provides three interfaces: Stream, Sink and Transform. These enable cryptography, compression and many other use cases.

local stream = {
  read = function(self)
    return "some bytes"
  end
}

local sink = {
  write = function(self, bytes)
    -- write `bytes` to some place
    return how_many_bytes_read
  end
}

local transform = {
  transform = function(self, bytes)
    return "some transformed bytes"
  end
}
  • Replace current concrete type Stream with abstract interface and concrete implementations
    • Define implementation rules
  • Allow using stream as body
    • Rust side: use Body::channel, return the body, and then spawn a new task to drain the stream
  • Helper functions
    • Pipe stream into sink, wrap stream or sink with transform, etc.

Remote `require`

Allows requireing modules over HTTP.

local baaz = require "foo.bar.baaz @https://getabel.org/x/mymodule/0.1.0"
local mymodule = require "@https://getabel.org/x/mymodule/0.1.0"
  • Implement MVP
    • You can use it right now, but not guaranteed to work as you would expect
  • Caching
  • Repository
    • Basically a file server, but need to specify the file structure
  • URI alias
    • Specify in service's config file?

Server returns error when uploading lua scripts

Env Info

  • Operating System: Arch Linux x86_64 with 5.17.1-zen1-1-zen
  • rustc Version: 1.59.0
  • hive Version: master branch, commit ba132f1

Error

To reproduce, upload a lua script via curl:

curl localhost:3000/services/hello -X PUT -F [email protected] | jq

Server returns:

{
  "error": "I/O error",
  "detail": {
    "msg": "Invalid cross-device link (os error 18)"
  }
}

And the log of server shows:

 ERROR hive_server::handle > Invalid cross-device link (os error 18)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.