/// <summary> /// Creates an AbandonRequest packet. /// </summary> /// <param name="context">The user context which contains message ID.</param> /// <param name="messageId">The ID of message to be abandoned.</param> /// <returns>The packet that contains the request.</returns> internal override AdtsAbandonRequestPacket CreateAbandonRequest(AdtsLdapContext context, long messageId) { AbandonRequest abandonRequest = new AbandonRequest(messageId); LDAPMessage_protocolOp operation = new LDAPMessage_protocolOp(); operation.SetData(LDAPMessage_protocolOp.abandonRequest, abandonRequest); LDAPMessage message = new LDAPMessage(new MessageID(context.MessageId), operation); AdtsAbandonRequestPacket packet = new AdtsAbandonRequestPacket(); packet.ldapMessagev2 = message; packet.messageId = context.MessageId; return(packet); }
public static DERProtocolOperation Extract(ICollection <byte> buffer) { var result = new DERProtocolOperation(); result.ExtractTagAndLength(buffer); switch (result.Tag.LdapCommand) { case LdapCommands.SearchRequest: result.Operation = SearchRequest.Extract(buffer); break; case LdapCommands.BindRequest: result.Operation = BindRequest.Extract(buffer); break; case LdapCommands.UnbindRequest: result.Operation = UnbindRequest.Extract(buffer); break; case LdapCommands.AddRequest: result.Operation = AddRequest.Extract(buffer); break; case LdapCommands.DelRequest: result.Operation = DelRequest.Extract(buffer, result.Length); break; case LdapCommands.ModifyDNRequest: result.Operation = ModifyDNRequest.Extract(buffer); break; case LdapCommands.CompareRequest: result.Operation = CompareRequest.Extract(buffer); break; case LdapCommands.AbandonRequest: result.Operation = AbandonRequest.Extract(buffer); break; case LdapCommands.ModifyRequest: result.Operation = ModifyRequest.Extract(buffer); break; case LdapCommands.SearchResultDone: result.Operation = SearchResultDone.Extract(buffer); break; case LdapCommands.BindResponse: result.Operation = BindResponse.Extract(buffer); break; case LdapCommands.AddResponse: result.Operation = AddResponse.Extract(buffer); break; case LdapCommands.SearchResultEntry: result.Operation = SearchResultEntry.Extract(buffer); break; } return(result); }