profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/rkuhn/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.

lightbend/config 5390

configuration library for JVM languages using HOCON files

playframework/play-plugins 447

CachePlugin

lightbend/mima 372

A tool for catching binary incompatibility in Scala

jboner/akka-crdt 220

Server-managed CRDTs based on Akka

rkuhn/blog 96

Various pieces and opinions by Roland Kuhn

lightbend/ssl-config 66

SSL configuration logic, extracted from Play's WS (for use in Akka et al).

rkuhn/akka-typed-session 48

add-on to Akka Typed that tracks effects for use with Session Types

playframework/play-scala-tls-example 45

A Play application using HTTPS and WS with optional client authentication

rkuhn/asynctest 37

Minimalistic JUnit-style framework for testing asynchronous components

rkuhn/linkchecker 26

demo app for the course

Pull request review commentipfs-rust/ipfs-embed

Make location of the access file configurable

 where         let store_config = Config::default()             .with_size_targets(size)             .with_pragma_synchronous(Synchronous::Normal);+        let mk_cache_entry = |access, _| Some(access);+        let tracker = if let Some(path) = config.access_db_path {+            let path = if path.is_file() {+                path+            } else {+                std::fs::create_dir_all(&path)?;+                path.join("access")

I never understood the rationale for interpreting the path differently based on whether it exists and/or is a file, but I guess that ship has sailed. I’d greatly simplify the semantics of these parameters by always interpreting them as the precise file path where the db lives.

rklaehn

comment created time in 15 days

PullRequestReviewEvent
PullRequestReviewEvent

startedActyx/cambria

started time in 22 days

push eventActyx/sync_wrapper

Akira Hayakawa

commit sha 778cffe43eff21bed80193e122178daed90e7ad0

add default wrapper implementations (#1)

view details

push time in a month

PR merged Actyx/sync_wrapper

add default wrapper implementations

This PR adds default wrapper implementations for Future and Stream.

This crate is typically used to add Sync to these two traits so it is good to have default implementations.

Also, as this is a library crate let's untrack Cargo.lock file.

+65 -0

0 comment

2 changed files

akiradeveloper

pr closed time in a month

PullRequestReviewEvent

Pull request review commentActyx/sync_wrapper

add default wrapper implementations

 impl<T> From<T> for SyncWrapper<T> {         Self::new(value)     } }+++pub struct SyncFuture<F> {+    inner: SyncWrapper<F>+}+impl <F: Future> SyncFuture<F> {+    /// Create a `Future` which is `Sync`.+    ///+    /// # Examples+    ///+    /// ```+    /// use sync_wrapper::{SyncWrapper, SyncFuture};+    ///+    /// let fut = async { 1 };+    /// let fut = SyncFuture::new(fut);+    /// ```

I usually put these docs on the struct itself, which has the added benefit of showing the first line in the summary of the docs.

akiradeveloper

comment created time in a month

PullRequestReviewEvent

Pull request review commentActyx/sync_wrapper

add default wrapper implementations

 impl<T> From<T> for SyncWrapper<T> {         Self::new(value)     } }+++pub struct SyncFuture<F> {+    inner: SyncWrapper<F>+}+impl <F: Future> SyncFuture<F> {+    /// Create a `Future` which is `Sync`.+    ///+    /// # Examples+    ///+    /// ```+    /// use sync_wrapper::{SyncWrapper, SyncFuture};+    ///+    /// let fut = async { 1 };+    /// let fut = SyncFuture::new(fut);+    /// ```+    pub fn new(inner: F) -> Self {+        Self { inner: SyncWrapper::new(inner) }+    }+    pub fn into_inner(self) -> SyncWrapper<F> {+        self.inner

Since SyncWrapper is an implementation detail of SyncFuture, I’d want to return plain F from this function.

akiradeveloper

comment created time in a month

Pull request review commentActyx/sync_wrapper

add default wrapper implementations

 categories = ["concurrency"]  [dev-dependencies] pin-project-lite = "0.2.7"+futures = { version = "0.3" }++[dependencies]+futures-core = { version = "0.3" }

how about

futures-core = { version = "0.3", default-features = false }

to keep this crate no_std?

akiradeveloper

comment created time in a month

PullRequestReviewEvent

pull request commentActyx/sync_wrapper

Implement `Debug`, `Default` and `From<T>` for `SyncWrapper`

Thanks for your contributions, I pushed 0.1.1 to crates.io.

KaiJewson

comment created time in a month

push eventActyx/sync_wrapper

Roland Kuhn

commit sha c2dbd54bbb43f0cc2cadcbbc9bdfdf31d0499f9a

don’t track Cargo.lock and release 0.1.1

view details

push time in a month

Pull request review commentActyx/sync_wrapper

add default wrapper implementations

 #![doc(html_logo_url = "https://developer.actyx.com/img/logo.svg")] #![doc(html_favicon_url = "https://developer.actyx.com/img/favicon.ico")] +pub mod ext;

I’d probably put everything into lib.rs — the library is still pretty small.

akiradeveloper

comment created time in a month

Pull request review commentActyx/sync_wrapper

add default wrapper implementations

+use crate::SyncWrapper;+use std::future::Future;+use std::task::{Context, Poll};+use std::pin::Pin;+

Could you add doc comments with examples?

akiradeveloper

comment created time in a month

Pull request review commentActyx/sync_wrapper

add default wrapper implementations

+use crate::SyncWrapper;+use std::future::Future;+use std::task::{Context, Poll};+use std::pin::Pin;++pub struct SyncFuture<F> {+    fut: SyncWrapper<F>+}+impl <F> SyncFuture<F> {+    pub fn new(fut: F) -> Self {+        Self { fut: SyncWrapper::new(fut) }+    }

perhaps add into_inner as well

akiradeveloper

comment created time in a month

PullRequestReviewEvent
PullRequestReviewEvent

PR merged Actyx/sync_wrapper

Add `SyncWrapper::get_pin_mut`

This method is very useful in async-related contexts.

+49 -0

1 comment

3 changed files

KaiJewson

pr closed time in a month

push eventActyx/sync_wrapper

KaiJewson

commit sha 02b6469b0b55bfde5083d40e5762b5d281d67837

Add `SyncWrapper::get_pin_mut`

view details

Roland Kuhn

commit sha 7209db9a5fbf43d0a6f5ecb325df3eafd278462c

Merge remote-tracking branch 'origin/master' into pr/KaiJewson/4 and merge imports

view details

push time in a month

PullRequestReviewEvent

push eventActyx/sync_wrapper

KaiJewson

commit sha 54367f1ae81895947afa0334ee7d7bc6cfd24e92

Implement `Debug` for `SyncWrapper` This change allows users to `#[derive(Debug)]` on types that contain `SyncWrapper`. The actual implementation does not give any useful information, but that is fine because nothing could be done anyway.

view details

KaiJewson

commit sha 38dc8f38ada467e689b3b68bc2d508ea0d82690a

Implement `Default` for `SyncWrapper`

view details

KaiJewson

commit sha 3052a6be42a428e5d0c3dde7ae94ce4968930a07

Implement `From<T>` for `SyncWrapper<T>`

view details

Roland Kuhn

commit sha 7a3c6d7f331d77d8edc31ef8af93643429d0b7ea

Merge pull request #7 from KaiJewson:traits Implement `Debug`, `Default` and `From<T>` for `SyncWrapper`

view details

push time in a month

PR merged Actyx/sync_wrapper

Implement `Debug`, `Default` and `From<T>` for `SyncWrapper`

These traits are also present on Mutex.

+20 -0

0 comment

1 changed file

KaiJewson

pr closed time in a month

PullRequestReviewEvent

push eventActyx/sync_wrapper

KaiJewson

commit sha 0cad592ae373b112f7691f1a730f4ac9c3a24a1a

Link to repository in Cargo.toml

view details

push time in a month

PR merged Actyx/sync_wrapper

Link to repository in Cargo.toml

I had to google to actually find this repository, better to link it on crates.io :)

+1 -0

0 comment

1 changed file

KaiJewson

pr closed time in a month

PullRequestReviewEvent

push eventActyx/sync_wrapper

KaiJewson

commit sha 1b7f37f70f90d89970ea820de45b77bcb7abc17f

Make library no_std

view details

push time in a month

PR merged Actyx/sync_wrapper

Make library no_std

This library doesn't need std.

+1 -0

0 comment

1 changed file

KaiJewson

pr closed time in a month