public int SignalEvent(TEventKind aEventKind, byte[] aEventPayload) {
var payload = new TByteBuffer();
if (!IsPublished && connection.AutoPublish)
Publish();
if (IsPublished) {
payload.Prepare(ID);
payload.Prepare((Int32) 0); // tick
payload.Prepare((Int32) aEventKind);
payload.Prepare(aEventPayload);
payload.PrepareApply();
payload.QWrite(ID);
payload.QWrite((Int32) (0)); // tick
payload.QWrite((Int32) aEventKind);
payload.QWrite(aEventPayload);
return connection.WriteCommand(TConnectionPlatform.TCommands.icEvent, payload.Buffer);
}
else
return TConnection.iceNotEventPublished;
}