Skip to content

Instantly share code, notes, and snippets.

@BanksySan
BanksySan / .gitattributes
Last active February 19, 2021 19:27
Unity Git Configuration
# 3D models
*.3dm filter=lfs diff=lfs merge=lfs -text
*.3ds filter=lfs diff=lfs merge=lfs -text
*.blend filter=lfs diff=lfs merge=lfs -text
*.c4d filter=lfs diff=lfs merge=lfs -text
*.collada filter=lfs diff=lfs merge=lfs -text
*.dae filter=lfs diff=lfs merge=lfs -text
*.dxf filter=lfs diff=lfs merge=lfs -text
*.fbx filter=lfs diff=lfs merge=lfs -text
@BanksySan
BanksySan / CompletedReadAndWriteMethods.cs
Created May 7, 2020 11:59
Blog: Writing a Concurrent .NET Stream (6)
public bool WritingFinished { get; private set; }
public void CloseWrite()
{
WritingFinished = true;
_readWait.Set();
}
public override int Read(byte[] buffer, int offset, int count)
{
@BanksySan
BanksySan / SupportedWriteFinished.cs
Created May 7, 2020 11:54
Blog: Writing a Concurrent .NET Stream (5)
bool WritingFinished { get; private set; }
public void CloseWrite()
{
WritingFinished = true;
}
@BanksySan
BanksySan / IncorrectConcurrentStream.cs
Created May 7, 2020 11:50
Blog: Writing a Concurrent .NET Stream (4)
public class ContinuousStream : Stream
{
private readonly IProducerConsumerCollection<byte> _buffer;
public ContinuousStream() => _buffer = new ConcurrentQueue<byte>();
public override int Read(byte[] buffer, int offset, int count)
{
var maxByteCount = offset + count > buffer.Length ? buffer.Length : count;
var actualBytesRead = 0;
@BanksySan
BanksySan / FixedReadAndWright.cs
Created May 7, 2020 11:39
Blog: Writing a Concurrent .NET Stream (3)
var bufferInput = new byte[] {1, 2, 3};
var bufferOutput = new byte[bufferInput.Length];
Console.WriteLine("bufferInput = {0,-2}", string.Join(", ", bufferInput));
Console.WriteLine("bufferOutput = {0,-2}", string.Join(", ", bufferOutput));
var memoryStream = new MemoryStream();
memoryStream.Write(bufferInput, 0, bufferInput.Length);
memoryStream.Position = 0;
memoryStream.Read(bufferOutput, 0, bufferInput.Length);
@BanksySan
BanksySan / IncorrectReadAndWrite.cs
Last active May 7, 2020 11:38
Blog: Writing a Concurrent .NET Stream (2)
var bufferInput = new byte[] {1, 2, 3};
var bufferOutput = new byte[bufferInput.Length];
Console.WriteLine("bufferInput = {0,-2}", string.Join(", ", bufferInput));
Console.WriteLine("bufferOutput = {0,-2}", string.Join(", ", bufferOutput));
var memoryStream = new MemoryStream();
memoryStream.Write(bufferInput, 0, bufferInput.Length);
memoryStream.Read(bufferOutput, 0, bufferInput.Length);
@BanksySan
BanksySan / CreateMemoryCtream.cs
Created May 7, 2020 11:32
Blog: Writing a Concurrent .NET Stream (1)
var memoryStream = new MemoryStream();
Console.WriteLine("CanRead = " + memoryStream.CanRead);
Console.WriteLine("CanWrite = " + memoryStream.CanWrite);
Console.WriteLine("CanSeek = " + memoryStream.CanSeek);
@BanksySan
BanksySan / object-create.js
Created May 6, 2020 18:08
Blog: JavaScript prototype & __proto__ (1)
var foo = {id: 'Foo'};
var bar = Object.create(foo)
console.log(`bar.id = ${bar.id}`);
@BanksySan
BanksySan / GetValues.cs
Created May 5, 2020 20:39
Blog: IDataReader, .NET Core & Multiple Tables (2)
using (var connection = new SqlConnection(CONNECTION_STRING))
{
const int WIDTH = 15;
const string COMMAND_TEXT =
@"SELECT [Id],[Description]
FROM [dbo].[Table1];
SELECT [Id],[Description]
FROM [dbo].[Table2];";
using (var command = connection.CreateCommand())
@BanksySan
BanksySan / SqlScript.sql
Created May 5, 2020 20:36
Blog: IDataReader, .NET Core & Multiple Tables (1)
SELECT [Id],[Description]
FROM [dbo].[Table1];
SELECT [Id],[Description]
FROM [dbo].[Table2];