Sha256: 7006232766e7c9c9c5252697cce2f9c7e47ff051dae1f0c39038ed5dd1dbf202

Contents?: true

Size: 902 Bytes

Versions: 6

Compression:

Stored size: 902 Bytes

Contents

#pragma once

#include "common/RhoStd.h"
#include "common/AutoPointer.h"
#include "curl/curl.h"

namespace rho {
namespace net {

struct ISSL
{
    virtual ~ISSL() {}

    virtual void* createStorage() = 0;
    virtual void freeStorage(void *ptr) = 0;

    virtual CURLcode connect(int sockfd, int nonblocking, int *done, void *storage) = 0;
    virtual void shutdown(void *storage) = 0;
    virtual ssize_t send(const void *mem, size_t len, void *storage) = 0;
    virtual ssize_t recv(char *buf, size_t size, int *wouldblock, void *storage) = 0;
};

}
}

extern "C" {
void *rho_ssl_create_storage();
void rho_ssl_free_storage(void *);
CURLcode rho_ssl_connect(int sockfd, int nonblocking, int *done, void *storage);
void rho_ssl_shutdown(void *storage);
ssize_t rho_ssl_send(const void *mem, size_t len, void *storage);
ssize_t rho_ssl_recv(char *buf, size_t size, int *wouldblock, void *storage);
}

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
rhodes-1.5.5 platform/shared/net/ssl.h
rhodes-1.5.4 platform/shared/net/ssl.h
rhodes-1.5.3 platform/shared/net/ssl.h
rhodes-1.5.2 platform/shared/net/ssl.h
rhodes-1.5.1 platform/shared/net/ssl.h
rhodes-1.5.0 platform/shared/net/ssl.h