On Monday, 5 October 2015 at 15:51:09 UTC, Andre wrote:
On Sunday, 4 October 2015 at 23:34:58 UTC, Rikki Cattermole wrote:
On 05/10/15 8:13 AM, Andre wrote:

Vibe.d has a provider called libasync. Libasync is fully implemented in D. You probably should have tried that at least. Although I still would recommend trying it ;) It's a lot better then what we have in Phobos.

Looks good, it seems all external dependencies issues are gone for vibe-d on Cloud Foundry. I haven't a working test application so far but I think the issue is now releated to the correct bind address in a Cloud Foundry environment.

As far as I understand vibe-d is not runnable out of the box in Cloud Foundry. I cannot point directly to the issue, I just get the information, that the test application does not accept connections during a health check run in the log file.

My simple test application is the example from the homepage except,
that the port is read from the environment variable PORT.

import vibe.d;

shared static this()
{
        import std.process: environment;
        auto settings = new HTTPServerSettings;
        settings.port = to!ushort(environment.get("PORT", "8080"));

        listenHTTP(settings, &handleRequest);
}

void handleRequest(HTTPServerRequest req,
                   HTTPServerResponse res)
{
        if (req.path == "/")
                res.writeBody("Hello, World!", "text/plain");
}

I assume some issues with memutils, but have no chance to validate this. What I can see, if I run the application in my virtubox (Ubuntu) instead
of the Cloud Foundry, I get following reponse:

vagrant@vagrant-ubuntu-trusty-64:~/projects/tests/vibed_test$ dub
Target memutils 0.4.1 is up to date. Use --force to rebuild.
Target libasync 0.7.5 is up to date. Use --force to rebuild.
Target vibe-d 0.7.25 is up to date. Use --force to rebuild.
Building vibed_test ~master configuration "debug", build type debug.
Compiling using dmd...
Enhanced memory security is enabled.
Using Linux EPOLL for events
Linking...
Running ./bin/app
Listening for HTTP requests on :::8080
Listening for HTTP requests on 0.0.0.0:8080
E: Could not mlock 65536 bytes




Reply via email to