SEXP create_explicit_stream() { jobject ex_stream = env->NewObject(cl["ExplicitStream"], fn["ExplicitStream.<init>"]); if(env->ExceptionOccurred()) return R_exception(); return register_stream(ex_stream); }
/** * Main function for register standalone */ void register_main(const char *exename, int argc, const char * const *argv) { struct sockaddr_in saddr; const char *stream_name; if (argc < 2) usage(exename); saddr = parseIp(argv[0]); stream_name = argv[1]; register_stream(saddr, stream_name); }
SEXP create_rips_stream(SEXP pdata_handle, SEXP delta, SEXP max_len, SEXP max_d, SEXP mat_buflen) { int sid = *INTEGER(R_ExternalPtrTag(pdata_handle)); if(current_pointdata.find(sid) == current_pointdata.end()) return (R_NilValue); jobject rips_str = env->NewObject(cl["RipsStream"], fn["RipsStream.<init>"], *REAL(delta), *REAL(max_len), *INTEGER(max_d), current_pointdata[sid]); if(env->ExceptionOccurred()) return R_exception(); return register_stream(rips_str); }
// [ // {directory, [file, file, ...]} // {directory, [file, file, ...]} // ... // ] file_monitor(spdlog::logger& logger, const std::vector<std::pair<std::string, std::vector<std::string>>>& targets, const callback& callback) : logger_(logger), callback_(callback), directories_(CFArrayCreateMutable(kCFAllocatorDefault, 0, &kCFTypeArrayCallBacks)), stream_(nullptr) { if (directories_) { for (const auto& target : targets) { if (auto directory = CFStringCreateWithCString(kCFAllocatorDefault, target.first.c_str(), kCFStringEncodingUTF8)) { CFArrayAppendValue(directories_, directory); CFRelease(directory); files_ = target.second; } } register_stream(); } }
SEXP create_lw_stream_from_handle(SEXP pdata_handle, SEXP granularity, SEXP max_d, SEXP rmax, SEXP nu, SEXP landmarks) { int sid = *INTEGER(R_ExternalPtrTag(pdata_handle)); if(current_pointdata.find(sid) == current_pointdata.end()) return (R_NilValue); int len = length(landmarks); jintArray landmarkarr = env->NewIntArray(len); int *parr = env->GetIntArrayElements(landmarkarr, NULL); memcpy(parr, INTEGER(landmarks), len*sizeof(int)); env->ReleaseIntArrayElements(landmarkarr, parr, 0); jobject lw_stream = env->NewObject(cl["LazyWitnessStream"], fn["LazyWitnessStream.<init>"], *REAL(granularity), *INTEGER(max_d), *REAL(rmax), *INTEGER(nu), landmarkarr, current_pointdata[sid]); if(env->ExceptionOccurred()) return R_exception(); return register_stream(lw_stream); }
/** * Send a store (append) request to cakedb server */ void store(struct sockaddr_in saddr, const char *stream_name, const char *filename) { t_data data; int s; int fd; int32_t size; int16_t streamId = register_stream(saddr, stream_name); struct stat sb; printf("storing data from file %s on cakedb\n", filename); s = create_network_link(saddr); if (stat(filename, &sb)) error("Cannot stat file"); fd = open(filename, O_RDONLY); if (fd == -1) error("Cannot open file"); /* sid + file's data */ size = 2 + sb.st_size; data.length = htonl(size); /* Send an append request */ data.cmd = htons(2); data.sid = htons(streamId); /* send data header and sid */ write_util(s, &data, sizeof(data)); /* Read file and send data to cakedb */ send_data(s, fd, sb.st_size); close(s); close(fd); }
void setup() { // minimal SPI bus config (cant have two devices being addressed at once) //PORTG |= (1<<0); // set AMC7812 CS pin high if connected digitalWrite(AMC7812_CS_ARDUINO_PIN, HIGH); // set AMC CS pin high digitalWrite(SS, HIGH); // set ENCJ CS pin high //pinMode(trigpin, INPUT); frontpanel_setup(); Serial.begin(115200); //Turn on Serial Port for debugging uint8_t ret = setup_DAQ(); frontpanel_set_led( COMM_LED, 1 ); setup_ethernet(); setup_ntp(); register_stream(); frontpanel_set_led( COMM_LED, 0 ); delay(1000); // increase stability frontpanel_set_led( COMM_LED, 1 ); setup_data_stream(); frontpanel_set_led( COMM_LED, 0 ); delay(1000); }