private void RelayInvalidShare(InvalidShare invalidShare) { try { var flags = (int)RelayInfo.WireFormat.ProtocolBuffers; using (var msg = new ZMessage()) { // Topic frame msg.Add(new ZFrame(invalidShare.PoolId)); // Frame 2: flags msg.Add(new ZFrame(flags)); // Frame 3: content type msg.Add(new ZFrame(RelayContentType.InvalidShare.ToString())); // Frame 4: payload using (var stream = new MemoryStream()) { Serializer.Serialize(stream, invalidShare); msg.Add(new ZFrame(stream.ToArray())); } pubSocket.SendMessage(msg); } } catch (Exception ex) { logger.Error(ex); } }
public async Task InsertAsync(IDbConnection con, IDbTransaction tx, InvalidShare share) { logger.LogInvoke(); if (String.IsNullOrEmpty(share.Miner) || String.IsNullOrEmpty(share.PoolId) || share.Created == null) { logger.Debug("Not storing invalid share."); return; } var mapped = mapper.Map <Entities.InvalidShare>(share); var query = "INSERT INTO invalid_shares(poolid, miner, worker, created) " + "VALUES(@poolid, @miner, @worker, @created)"; await con.ExecuteAsync(query, mapped, tx); }