From Eager Futures/Promises to Lazy Continuations: Evolving an Actor Library Based on Lessons LearnedFrom Eager Futures/Promises to Lazy Continuations Evolving an Actor Library Based on Lessons Learned from Large-Scale Deployments Benjamin Hindman @benh CppCon 2021prologue ● past life at UC whether local or distributed“actors” in C++ many actor libraries are based on low-level message-passing “send/receive” struct MyActor : public Actor { void Receive(ActorId sender, Message message, MESSAGE_BAR_REQUEST: ... } } };“actors” in C++ many actor libraries are based on low-level message-passing “send/receive” struct MyActor : public Actor { void Receive(ActorId sender, Message message,0 码力 | 264 页 | 588.96 KB | 6 月前3
Spring Framwork Data Access v5.3.36 SNAPSHOTjdbcTemplate.queryForObject("select count(*) from t_actor", Integer.class); Kotlin val rowCount = jdbcTemplate.queryForObject("select count(*) from t_actor")!! The following query uses a bind variable: "select count(*) from t_actor where first_name = ?", Integer.class, "Joe"); Kotlin val countOfActorsNamedJoe = jdbcTemplate.queryForObject ( "select count(*) from t_actor where first_name = "select last_name from t_actor where id = ?", String.class, 1212L); Kotlin val lastName = this.jdbcTemplate.queryForObject ( "select last_name from t_actor where id = ?", 0 码力 | 197 页 | 2.76 MB | 1 年前3
PlantUML 1.2021.3 Language Reference Guidethe participant represen- tation: • actor • boundary • control • entity • database • collections • queue @startuml participant participant as Foo actor actor as Foo1 boundary boundary as Foo2 control Foo4 database database as Foo5 collections collections as Foo6 queue queue as Foo7 Foo -> Foo1 : To actor PlantUML Language Reference Guide (1.2021.2) 1 / 415 1.2 Declaring participant 1 SEQUENCE DIAGRAM the as keyword. You can also change the background color of actor or participant. @startuml actor Bob #red ' The only difference between actor 'and participant is the drawing participant Alice participant0 码力 | 416 页 | 4.33 MB | 1 年前3
PlantUML 1.2021.1 Language Reference Guidethe participant represen- tation: • actor • boundary • control • entity • database • collections • queue @startuml participant participant as Foo actor actor as Foo1 boundary boundary as Foo2 control Foo4 database database as Foo5 collections collections as Foo6 queue queue as Foo7 Foo -> Foo1 : To actor PlantUML Language Reference Guide (1.2021.1) 1 / 391 1.2 Declaring participant 1 SEQUENCE DIAGRAM the as keyword. You can also change the background color of actor or participant. @startuml actor Bob #red ' The only difference between actor 'and participant is the drawing participant Alice participant0 码力 | 392 页 | 4.12 MB | 1 年前3
PlantUML 1.2021.2 Language Reference Guidethe participant represen- tation: • actor • boundary • control • entity • database • collections • queue @startuml participant participant as Foo actor actor as Foo1 boundary boundary as Foo2 control Foo4 database database as Foo5 collections collections as Foo6 queue queue as Foo7 Foo -> Foo1 : To actor PlantUML Language Reference Guide (1.2021.2) 1 / 397 1.2 Declaring participant 1 SEQUENCE DIAGRAM the as keyword. You can also change the background color of actor or participant. @startuml actor Bob #red ' The only difference between actor 'and participant is the drawing participant Alice participant0 码力 | 398 页 | 4.17 MB | 1 年前3
Drawing UML with PlantUML - PlantUML Language Reference Guide(Version 1.2023.11)the participant represen- tation: • actor • boundary • control • entity • database • collections • queue @startuml participant Participant as Foo actor Actor as Foo1 boundary Boundary as Foo2 control Foo4 database Database as Foo5 collections Collections as Foo6 queue Queue as Foo7 Foo -> Foo1 : To actor Foo -> Foo2 : To boundary Foo -> Foo3 : To control Foo -> Foo4 : To entity Foo -> Foo5 : To database the as keyword. You can also change the background color of actor or participant. @startuml actor Bob #red ' The only difference between actor 'and participant is the drawing participant Alice participant0 码力 | 551 页 | 7.79 MB | 1 年前3
Drawing UML with PlantUML - PlantUML Language Reference Guide(Version 1.2020.23)will change the shape of the participant representation: • actor • boundary • control • entity • database • collections @startuml actor Foo1 boundary Foo2 control Foo3 entity Foo4 database Foo5 collections the as keyword. You can also change the background color of actor or participant. @startuml actor Bob #red ' The only difference between actor 'and participant is the drawing participant Alice participant Reference You can use reference in a diagram, using the keyword ref over. @startuml participant Alice actor Bob ref over Alice, Bob : init Alice -> Bob : hello ref over Bob This can be on several lines end0 码力 | 311 页 | 3.15 MB | 1 年前3
PlantUML 1.2020.22 Language Reference Guidewill change the shape of the participant representation: • actor • boundary • control • entity • database • collections @startuml actor Foo1 boundary Foo2 control Foo3 entity Foo4 database Foo5 collections the as keyword. You can also change the background color of actor or participant. @startuml actor Bob #red ' The only difference between actor 'and participant is the drawing participant Alice participant Reference You can use reference in a diagram, using the keyword ref over. @startuml participant Alice actor Bob ref over Alice, Bob : init Alice -> Bob : hello ref over Bob This can be on several lines end0 码力 | 299 页 | 3.07 MB | 1 年前3
Spring Framework 2.5.x ReferencequeryForObject( "select surname from t_actor where id = ?", new Object[]{new Long(1212)}, String.class); Querying and populating a single domain object. Actor actor = (Actor) this.jdbcTemplate.queryForObject( surname from t_actor where id = ?", new Object[]{new Long(1212)}, new RowMapper() { public Object mapRow(ResultSet rs, int rowNum) throws SQLException { Actor actor = new Actor(); actor.setFirstName(rs setFirstName(rs.getString("first_name")); actor.setSurname(rs.getString("surname")); return actor; } }); Querying and populating a number of domain objects. Data access using JDBC Spring Framework (2.5.6) 253 Collection0 码力 | 590 页 | 4.31 MB | 1 年前3
Spring Framework 2.5.5 ReferencequeryForObject( "select surname from t_actor where id = ?", new Object[]{new Long(1212)}, String.class); Querying and populating a single domain object. Actor actor = (Actor) this.jdbcTemplate.queryForObject( surname from t_actor where id = ?", new Object[]{new Long(1212)}, new RowMapper() { public Object mapRow(ResultSet rs, int rowNum) throws SQLException { Actor actor = new Actor(); actor.setFirstName(rs setFirstName(rs.getString("first_name")); actor.setSurname(rs.getString("surname")); return actor; } }); Querying and populating a number of domain objects. Data access using JDBC Spring Framework (2.5.5) 252 Collection0 码力 | 588 页 | 4.30 MB | 1 年前3
共 223 条
- 1
- 2
- 3
- 4
- 5
- 6
- 23













