default buffer size = 1024 bytes

This commit is contained in:
Christian Köllner 2020-02-23 17:27:31 +01:00
parent 409e517587
commit f2879bddb2
6 changed files with 11 additions and 6 deletions

View File

@ -7,7 +7,7 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="BenchmarkDotNet" Version="0.12.0" /> <PackageReference Include="BenchmarkDotNet" Version="0.12.0" />
<PackageReference Include="Capnp.Net.Runtime" Version="1.3.33-g596a97a362" /> <PackageReference Include="Capnp.Net.Runtime" Version="1.3.34-g409e517587" />
<PackageReference Include="CapnpC.CSharp.MsBuild.Generation" Version="1.2.138" /> <PackageReference Include="CapnpC.CSharp.MsBuild.Generation" Version="1.2.138" />
<PackageReference Include="Google.Protobuf" Version="3.11.3" /> <PackageReference Include="Google.Protobuf" Version="3.11.3" />
<PackageReference Include="Grpc.Net.Client" Version="2.27.0" /> <PackageReference Include="Grpc.Net.Client" Version="2.27.0" />

View File

@ -12,7 +12,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Capnp.Net.Runtime" Version="1.3.30-g1649067ef6" /> <PackageReference Include="Capnp.Net.Runtime" Version="1.3.34-g409e517587" />
<PackageReference Include="CapnpC.CSharp.MsBuild.Generation" Version="1.3.29-g6d711b8579" /> <PackageReference Include="CapnpC.CSharp.MsBuild.Generation" Version="1.3.29-g6d711b8579" />
</ItemGroup> </ItemGroup>

View File

@ -11,8 +11,10 @@ namespace CapnpProfile
{ {
static async Task Main(string[] args) static async Task Main(string[] args)
{ {
using var server = new TcpRpcServer(IPAddress.Any, 5002); using var server = new TcpRpcServer();
server.Main = new CapnpEchoService(); server.Main = new CapnpEchoService();
server.AddBuffering();
server.StartAccepting(IPAddress.Any, 5002);
using var client = new TcpRpcClient("localhost", 5002); using var client = new TcpRpcClient("localhost", 5002);
await client.WhenConnected; await client.WhenConnected;
using var echoer = client.GetMain<IEchoer>(); using var echoer = client.GetMain<IEchoer>();

View File

@ -6,7 +6,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Capnp.Net.Runtime" Version="1.3.33-g596a97a362" /> <PackageReference Include="Capnp.Net.Runtime" Version="1.3.34-g409e517587" />
<PackageReference Include="CapnpC.CSharp.MsBuild.Generation" Version="1.2.138" /> <PackageReference Include="CapnpC.CSharp.MsBuild.Generation" Version="1.2.138" />
</ItemGroup> </ItemGroup>

View File

@ -9,10 +9,11 @@ namespace EchoServiceCapnp
{ {
static void Main(string[] args) static void Main(string[] args)
{ {
using (var server = new TcpRpcServer(IPAddress.Any, 5002)) using (var server = new TcpRpcServer())
{ {
server.AddBuffering(); server.AddBuffering();
server.Main = new CapnpEchoService(); server.Main = new CapnpEchoService();
server.StartAccepting(IPAddress.Any, 5002);
Console.WriteLine("Press RETURN to stop listening"); Console.WriteLine("Press RETURN to stop listening");
Console.ReadLine(); Console.ReadLine();
} }

View File

@ -5,7 +5,9 @@ namespace Capnp.Util
{ {
internal class DuplexBufferedStream : Stream internal class DuplexBufferedStream : Stream
{ {
const int DefaultBufferSize = 4096; // A buffer size of 1024 bytes seems to be a good comprise, giving good performance
// in TCP/IP-over-localhost scenarios for small to medium (200kiB) frame sizes.
const int DefaultBufferSize = 1024;
readonly BufferedStream _readStream; readonly BufferedStream _readStream;
readonly BufferedStream _writeStream; readonly BufferedStream _writeStream;